Ubuntu下的vsftpd安装、配置
1、安装
$ sudo apt-get install vsftpd
2、设置 vsftpd.conf文件(查找对应项,去掉注释#,或更改成自定义值)
备份vsftpd.conf文件
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
编辑vsftpd.conf文件
$ sudo vim /etc/vsftpd.conf
#匿名用户设置
#匿名用户访问权限,YES 允许访问,NO 拒绝访问
anonymous_enable=NO
{//以下只针对anonymous_enable=YES生效,建议关闭匿名访问
#匿名用户上传权限,YES允许,NO拒绝。FTP匿名用户对某个目录有写权限。
anon_upload_enable=NO
#匿名用户创建新目录权限,YES允许,NO拒绝。FTP匿名用户必需对新目录的上层目录拥有写权限。
anon_mkdir_write_enable=NO
#匿名用户下载权限,YES允许浏览及下载,NO 只允许浏览
anon_world_readable_Only=NO
}
#本地用户设置
#控制vsftpd所在的系统的用户是否可以登录vsftpd
local_enable=YES
#将本地用户锁定在自家目录中。YES 锁定,NO 不锁定。chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。
chroot_local_user=NO
#锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
chroot_list_enable=YES
#指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。
chroot_list_file=/etc/vsftpd.chroot_list
注意: 当chroot_local_user=NO、chroot_list_enable=YES时,vsftpd.chroot_list中用户为锁定用户,即他们除了自己的目录,不可以访问其他目录。
当chroot_local_user=YES、chroot_list_enable=YES时,vsftpd.chroot_list中用户为非锁定用户,他们可以访问任何其他目录。
#定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。(注释则访问该用户自己目录)
local_root=/var/www/web (路径自定义)
#控制是否允许使用任何可以修改文件系统的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。
write_enable=YES
#FTP服务器最大承载用户
max_clients=100
#限制每个IP的进程
max_per_ip=5
#最大传输速率(b/s)
local_max_rate=256000
#是否隐藏文件的所有者和组信息。YES,当用户使用"ls -al"之类的指令时,在目录列表中所有文件的拥有者和组信息都显示为ftp。
hide_ids=YES
#空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。
idle_session_timeout= 3000
3、配置vsftpd.chroot_list
$ sodu vim /etc/vsftpd.chroot_list
#增加需要锁定/非锁定目录的用户(根据自己情况添加)
user1
user2
4、删除vsftp默认访问路径
$ sudo rmdir /home/ftp
5、重启vsftp服务
$ /etc/init.d/vsftpd restart