本地用户登录
一般配置
安装 yum install vsftpd,然后就可以开始配置了。useradd fileuser,本地用户fileuser可以登录ftp。配置文件在 /etc/vsftpd/vsftpd.conf。
anonymous_enable=NO # 禁止匿名用户
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写操作
listen=YES
listen_ipv6=NO # 监听的ipv4,ipv6,只能选择一个,这里选择ipv4
pam_service_name=vsftpd # pam模块配置文件为/etc/pam.d/vsftpd
dual_log_enable=YES # 启用/var/log/vsftpd.log和/var/log/xferlog两个日志
userlist_enable=YES # 启用用户列表,列表属性由userlist_deny控制
userlist_deny=NO # 列表属性为userlist_file里的允许登录
userlist_file=/etc/vsftpd/user_list # /etc/vsftpd/user_list里面写允许的用户,这里只写fileuser
local_root=/path/to/default/dir # ftp的目录
控制用户是否允许切换到上级目录
- 当 chroot_list_enable=yes,chroot_local_user=yes时,在/etc/vsftpd/chroot_list文件 中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
- 当 chroot_list_enable=yes,chroot_local_user=no时,在/etc/vsftpd/chroot_list文件中 列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
- 当 chroot_list_enable=no,chroot_local_user=yes时,所有用户均不能切换到上级目录。
- 当 chroot_list_enable=no,chroot_local_user=no时,所有用户均可以切换到上级目录。
当用户不允许切 换到上级目录时,登录后ftp站点的根目录“/”是该ftp账户的主目录,即文件的系统的/path/to/default/dir目录。
如果报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()。这是因为从2.3.5之后,增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。allow_writeable_chroot=YES这个配置可以解决这个报错。一般使用这样的配置,这样就可以限制切换目录,又能写入了。
chroot_list_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES