ftp多用户多目录配置
systemctl stop firewalld.service #停止firewall(防火墙)
systemctl disable firewalld.service #禁止firewall开机启动
#修改SELINUX,否则ftp用户无新建文件权限
vi /etc/sysconfig/selinux
SELINUX=disabled
然后执行:setenforce 0
yum install vsftpd
useradd test1
passwd test1
mkdir -p /ftpdata/test1ftp
chown -R test1.root /ftpdata/test1ftp(ftp主目录用于存放文件根据自己喜好自定义)
chmod -R 777 /ftpdata/test1ftp(给文件目录授予权限)
anonymous_enable=NO
#local_enable=YES #设置是否允许本地用户登录 上面有
#write_enable=YES #是否允许用户有写权限 上面有
#local_umask=022 #设置本地用户创建文件时的umask值
#dirmessage_enable=YES
#xferlog_enable=YES
#connect_from_port_20=YES
#xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
#锁定用户到各自的根目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_port=21 #端口号自己定义
listen_ipv6=NO
pam_service_name=vsftpd
#local_root=/ftpdata/ #用户路径
user_config_dir=/etc/vsftpd/userconfig #用户根目录配置文件
allow_writeable_chroot=YES
当
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list
那么, 凡是加在文件vsftpd.chroot_list中的用户都可以切换到其他目录。
所以如果想限制用户只能访问自己的根目录,则需要以下几步:
1)chroot_local_user=YES,chroot_list清空用户名。
2)/etc/vsftpd/userconfig下以用户名为名建立文件,vim test1,内容为
设置的根目录
local_root=/ftpdata/test1ftp/
3) usermod -d /ftpdata/test1ftp -u 1002 test1
修改 /etc/passwd内的用户根目录。
至此,ftp用户登录后限制到自己的根目录。
4)重启vsftpd.service
systemctl restart vsftpd.service
截图如下。
否则ftp用户根目录默认为/home/test1
配置了user_config_dir就不用再配置local_root,否则连接不上。