clmngu 2020-06-03
[ ~]# yum install -y vsftpd
[ ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO #不允许匿名登录 local_enable=YES #vsftpd所在系统的用户可以登录vsftpd write_enable=YES #允许使用任何可以修改文件系统的FTP的指令 local_umask=022 #匿名用户新增文件的umask数值 dirmessage_enable=YES xferlog_enable=YES #启用一个日志文件,用于详细记录上传和下载 connect_from_port_20=YES #开启20端口 xferlog_std_format=YES #记录日志使用标准格式 listen=NO #关闭监听 listen_ipv6=YES #监听IPV6地址 pam_service_name=vsftpd #验证文件的名字 userlist_enable=YES #允许由userlist_file指定文件中的用户登录FTP服务器 chroot_local_user=NO #用于指定用户列表文件中的用户,是否允许切换到上级目录 chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 # (default follows) chroot_list_file=/etc/vsftpd/chroot_list #指定限制的用户文件 allow_writeable_chroot=YES 从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项: allow_writeable_chroot=YES
[ ~]# useradd -d /home/ftpuser/ -g ftp -s /sbin/nologin ftpuser
[ ~]# passwd ftpuser > ``` > 设置后,只有/etc/vsftpd.chroot_list文件中指定的用户才能够执行chroot命令。 > 默认/etc/vsftpd/chroot_list不存在,需要手动创建 > [ ftp]# vim /etc/vsftpd/chroot_list > ftpuser #### 6.重启服务,并将服务设置为开机自启 [ ~]# systemctl start vsftpd.service [ ~]# systemctl enable vsftpd.service