CentOS7上配置vsftpd

本地用户登录

一般配置

安装 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的目录

控制用户是否允许切换到上级目录 

  1. 当 chroot_list_enable=yes,chroot_local_user=yes时,在/etc/vsftpd/chroot_list文件 中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
  2. 当 chroot_list_enable=yes,chroot_local_user=no时,在/etc/vsftpd/chroot_list文件中 列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
  3. 当 chroot_list_enable=no,chroot_local_user=yes时,所有用户均不能切换到上级目录。
  4. 当 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

虚拟用户登录

你可能感兴趣的:(Linux,#,Linux实践与随笔,linux,服务器,运维,vsftpd)