vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
安装vsftpd软件包
sudo apt-get install vsftpd
配置FTP参数
sudo nano /etc/vsftpd.conf
打开配置文件,
anonymous_enable=YES,YES可以匿名登入,NO表示需要账号密码登入。
write_enable=YES是可以上传文件到FTP服务器中的总开关,匿名用户下面还有一个配置。
local_umask=022读写权限配置
anon_root=XXX,设置匿名账户的访问根目录
local_root=XXX,设置本地账户的访问根目录
utf8_filesystem=YES,使用utf8文件系统
ascii_upload_enable=YES,允许ascii码格式传输
ascii_download_enable=YES,允许ascii码格式传输
配置完成后,按ctrl+o,ctrl+x保存退出。
按上述配置,已能使用FTP服务,匿名用户使用浏览器或则FTP软件,输入地址FTP://树莓派ip即可登录树莓派的FTP了,默认目录为。用户名密码等登录输入输入地址FTP://用户名:密码@树莓派ip登录,使用的软件的话,地址和用户名密码可能分开输入。
常用的浏览器大都能用于打开FTP。软件的话,flashFXP和cuteFTP都不错。
vsftp还有限定用户和目录访问权限设定等配置
设定限制/允许用户登录的文件
配置vsftpd.conf文件
userlist_enable=YES
userlist_deny=NO
userlist_config_dir=/etc/vsftpd.config_conf
在vsftpd.config_conf目录下创建以登录用户名命名的文件,在文件中写入这顶当前账户的配置项,如local_root=/mnt/usb-ntfs来指定该登录用户的根目录。
设置用户能否访问设定根目录的上层目录
配置vsftpd.conf文件
chroot_list_enable=YES,chroot_local_user=NO,chroot_list_file=/etc/vsftpd.chroot_list
可以使vsftpd.chroot_list中写入的用户无法进入设定更目录的上层路径,保证安全性。
重新启动FTP指令:sudo service vsftpd restart