树莓派上安装和配置vsftpd的教程

文章来源:一氧化碳中毒   发布时间:2021-8-1 11:31:44   点击数:
  北京看白癜风效果好的医院 http://pf.39.net/bdfyy/bdfzg/150722/4661155.html

在网盘流行的当下,FTP这种文件传输协议似乎有些「古老」。但是无论如何,FTP方案有成熟的软件生态、完善的权限控制。你几乎无需做任何开发,只需要选择适合的软件即可创建一个文件共享服务器。可以用于工作文档的存储、分享,或者是数字产品的发布。如果你也和我一样,想在树莓派上搭建FTP服务器,下面以vsftpd为例,介绍如何安装和配置一个带完整权限控制的FTP服务。

对于不同用户进行不同的权限控制。考虑到服务器的安全性,所以关闭实体用户登录,使用虚拟帐号验证机制,并对不同虚拟帐号设置不同的权限。为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。

安装vsftpd

sudoapt-getinstallvsftpdvimdb-util创建用户数据库

1、创建用户文本文件先建立用户文本文件vsftpd_virtualuser.txt,添加两个虚拟帐号,公共帐号share及客户帐号upload。

sudomkdir/etc/vsftpdtouch/etc/vsftpd/vsftpd_virtualuser.txtvim/etc/vsftpd/vsftpd_virtualuser.txt

格式:

虚拟帐号1密码虚拟帐号2密码

例如:

shareupload

保存退出。2、生成数据库保存虚拟帐号和密码的文本文件无法被系统帐号直接调用。我们需要使用db_load命令生成db数据库文件。

sudodb_load-T-thash-f/etc/vsftpd/vsftpd_virtualuser.txt/etc/vsftpd/vsftpd_virtualuser.db

3、修改数据库文件访问权限数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取,我们可以修改该文件的访问权限。生成的认证文件的权限应设置为只对root用户可读可写,即。

sudochmod/etc/vsftpd/vsftpd_virtualuser.db配置PAM文件

为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(PlugableAuthenticationModule)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。PAM模块配置文件路径为/etc/pam.d/目录,此目录下保存着大量与认证有关的配置文件,并以服务名称命名。修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段。

authrequiredpam_userdb.sodb=/etc/vsftpd/vsftpd_virtualuseraccountrequiredpam_userdb.sodb=/etc/vsftpd/vsftpd_virtualuser创建虚拟帐号对应的系统用户

对于公共帐号和客户帐号,因为需要配置不同的权限,所以可以将两个帐号的目录进行隔离,控制用户的文件访问。公共帐号share对应系统帐号ftpshare,并指定其主目录为/home/pi/ftp/share,而客户帐号upload对应系统帐号ftpupload,指定主目录为/home/pi/ftp/upload。

如果不设置可执行用户登录会报不能更改目录错误。

mkdir/home/pi/ftpmkdir/home/pi/ftp/sharemkdir/home/pi/ftp/uploadsudouseradd-d/home/pi/ftp/shareftpsharesudouseradd-d/home/pi/ftp/uploadftpuploadsudochmod-R/home/pi/ftp/share/sudochmod-R/home/pi/ftp/upload/

公共帐号share只允许下载,修改share目录其他用户权限为rx可读可执行。客户帐号upload允许上传和下载,所以对upload目录权限设置为rwx,可读可写可执行。

建立配置文件

设置多个虚拟帐号的不同权限,若使用一个配置文件无法实现此功能,需要为每个虚拟帐号建立独立的配置文件,并根据需要进行相应的设置。1、修改vsftpd.conf主配置文件配置主配置文件/etc/vsftpd.conf添加虚拟帐号的共同设置并添加user_config_dir字段,定义虚拟帐号的配置文件目录。禁用匿名用户登录并启用本地用户登录设置:

anonymous_enable=NOlocal_enable=YES#将所有本地用户限制在家目录中,NO则不限制chroot_local_user=YES#配置vsftpd使用的PAM模块为vsftpdpam_service_name=vsftpd#设置虚拟帐号的主目录为/vuserconfiguser_config_dir=/etc/vsftpd/vuserconfig#设置FTP服务器最大接入客户端数为个max_clients=#设置每个IP地址最大连接数为10个max_per_ip=10allow_writeable_chroot=YESpasv_enable=YESpasv_min_port=pasv_max_port=

2、建立虚拟帐号配置文件在user_config_dir指定路径下,建立与虚拟帐号同名的配置文件并添加相应的配置字段。首先建立公共帐号share的配置文件:

sudomkdir/etc/vsftpd/vuserconfigsudovi/etc/vsftpd/vuserconfig/share

#开启虚拟帐号登录guest_enable=yes#设置ftp对应的系统帐号为ftpshareguest_username=ftpshare#允许匿名用户浏览器整个服务器的文件系统anon_world_readable_only=no#限定传输速率为KB/sanon_max_rate=000

注意:vsftpd对于文件传输速度限制并不是绝对锁定在一个数值上哈,而是在80%~%之间变化。比如设置KB/s,则实际是速度在80KB/s~KB/s之间变化。

下面是客户帐号的配置文件upload:

sudovi/etc/vsftpd/vuserconfig/upload

#开启虚拟帐号登录guest_enable=yes#设置ftp对应的系统帐号为ftpuploadguest_username=ftpupload#允许匿名用户浏览器整个服务器的文件系统anon_world_readable_only=no#允许在文件系统写入权限write_enable=yes#允许创建文件夹anon_mkdir_write_enable=yes#开启匿名帐号的上传功能anon_upload_enable=yes#限定传输速度为0KB/sanon_max_rate=00如果需要删除权限,可在配置中添加:anon_other_write_enable=YES重启vsftpd使配置生效

sudosystemctlrestartvsftpdsudoservicevsftpdrestart

文中链接可点击文末阅读原文查看

更多精彩内容

用树莓派制造摩托车仪表盘

用树莓派制造智能萌宠喂食机

基于树莓派制造智能的行星观测器

手工制作金属线框工艺的X翼型时钟

Arduino+LEDsDIY音乐频谱灯

DIY斯坦福Pupper12自由度四足机器狗

Barrier:PC与树莓派的键盘鼠标共享方案

预览时标签不可点收录于话题#个上一篇下一篇
转载请注明:http://www.lwblm.com/zdwh/12229.html
  • 上一篇文章:
  • 下一篇文章: 没有了