继续捣鼓centOS7, vsftp的安装肥肠简单,yum install vsftpd。
接下来的配置文件是 /etc/vsftpd/vsftpd.conf,/etc/vsftpd/这个文件夹下面有几个文件要注意:
1. ftpusers :不允许通过ftp登录的用户,默认包含root,始终检查这个!
2. user_list:如果配置文件中userlist_deny=NO 只允许这个文件中的用户,默认情况下userlist_deny=yes,不允许此文件中的用户登录,不会要求输入密码直接拒绝。
我们来设计3个用户。
第一个是普通匿名用户,只有读权限,第二个是本地用户,第三个是虚拟用户。
匿名用户:
用户名无需设置,直接登录即可。
systemctl restart vsftpd,启动ftp客户端输入ip地址,选择匿名登录,连接超时,考虑是否是21端口被防火墙封禁。
firewall-cmd --list-ports 查看没有端口开放。
firewall-cmd --zone=public --add-port=21/tcp 后面最好加上--permanent这样重启以后不用每次都添加
最好是关闭SElinux。 vim /etc/selinux/config, 将enforcing改为disabled, 然后reboot。
anon_upload_enable=YES #容许匿名用户上传文件
anon_mkdir_write_enable=YES #容许匿名用户建立目录
anon_other_write_enable=YES #容许匿名用户除了新建和上传外的其他权限,如:删除、更名。
pasv_enable=YES、pasv_min_port=5000、pasv_max_port=6000。#打开ftp被动连结,并设置最小、最大端口。
本地用户:
useradd jerry, passwd jerry, etc/sudoers -----## Allow root to run any commands anywher
root ALL=(ALL) ALL
本地用户chroot
1.指定用户不受限制,其他用户受限
chroot_local_user=YES //启用本地用户chroot,启用后本地用户登录就被限制在其登录目录中(默认为其主目录)
chroot_list_enable=YES //启用例外列表
chroot_list_file=/etc/vsftpd/chroot_list //例外列表路径
2.指定用户受限,其他用户不受限
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
user_config_dir=/etc/vsftpd/userconf
local_root=xxx