官方网站:http://vsftpd.beasts.org/
ubuntu下安装命令##:sudo apt-get install vsftpd
安装完后默认配置为只允许匿名访问(只读)
默认主目录为:/home/ftp
默认用户名为:ftp
修改FTP主目录命令##:
sudo mkdir /tmp/tmpftpdir //建立一个新目录/tmp/tmpftpdir
sudo usermod -d /tmp/tmpftpdir ftp //修改ftp用户的主目录路径为/tmp/tmpftpdir
重起vsftpd服务命令##:sudo /etc/init.d/vsftpd restart
vsftpd配置文件路径:/etc/vsftpd.conf
如果希望登陆用户可以在自身主目录中拥有上传文件,新建目录及文件,下载文件等权限,需要做如下配置:
local_enable=YES //开放本地用户权限
write_enable=YES //可写入
此时匿名用户仍然维持对主目录的只读权限
如果希望匿名用户也拥有上传文件权限,可作如下配置:
anon_upload_enable=YES //这个配置相当不安全,请谨慎操作
配置文件中的相关安全属性说明
默认情况下,所有本地用户都具有访问所有目录的权限(这是非常危险的),所以需要使用以下的属性对本地FTP用户进行访问权限限制
chroot_local_user=YES //YES表示将所有本地用户限制在自身主目录中,NO则不限制。
chroot_list_enable=YES //对上面一个属性作例外文件配置(相反限制)YES表示允许vsftpd读取一个提供了用户名的文件,如果chroot_local_user指令是YES的话,则该文件中的用户不会被限制在自身主目录中,如果chroot_local_user是NO的话,则这些用户会被限制。
chroot_list_file=/etc/vsftpd.chroot_list //配置用户名列表的文件路径(作用于上一个配置)
如果要开启加密通道可以增加以下属性:
ssl_enable=YES //此属性需要配合加密证书及密钥的设置
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem //加密证书设置(官方教程示例)
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key //加密密钥设置(官方教程示例)
如果要关闭特定用户的FTP权限,可以添加用户至 /etc/ftpusers文件中,其中默认用户有:root, daemon, nobody, etc
关于/etc/vsftpd.conf的全部配置属性详细说明链接:
http://manpages.ubuntu.com/manpages/jaunty/en/man5/vsftpd.conf.5.html