1.安装vsftpd软件
yum -y install vsftpd
2.编辑配置文件
① 进入配置目录:cd /etc/vsftpd/
② 编辑配置文件:vim vsftpd.conf
在pam_service_name=vsftpd上,添加:
#开启虚拟用户访问功能
guest_enable=YES
#设置虚拟用户对应的系统账户为ftp
guest_username=ftp
#设置虚拟用户的配置目录
user_config_dir=/etc/vsftpd/vir_user_conf
③ 在/etc/vsftpd目录下,创建虚拟账户列表,如:
vim vir_user_ftp ,添加如下:
test
123456
保存,退出
④ 生成密码库
db_load -T -t hash -f /etc/vsftpd/vir_user_ftp /etc/vsftpd/vir_user_ftp.db
chmod 600 vir_user_ftp.db
⑤ 创建虚拟用户配置文件
mkdir vir_user_conf
cd vir_user_conf
touch test
⑥ 编辑vsftpd的pam模块认证文件
vim /etc/pam.d/vsftpd
注释到已有内容,添加一下两行,表示用自己创建的用户密码库来认证vsftpd的登陆
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vir_user_ftp
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vir_user_ftp
保存,退出。
⑦ 进入虚拟用户配置目录
cd /etc/vsftpd/vir_user_conf
vim test 添加一下内容:
local_root=/var/ftp/pub/test
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=YES
保存,退出
⑧ 创建test用户根目录
cd /var/ftp/pub/
mkdir test
⑨ 设置ACL访问控制
setfacl -R -m u:ftp:rwx test
⑩开启FTP服务器
service vsftpd start
service iptables stop
setenforce 0
根据以上十步,基本上可以搞定FTP虚拟用户配置
主要步骤:
1,配置vsftpd可使用虚拟用户
2,配置vsftpd访问控制
3,创建虚拟用户数据库,根目录,访问配置
4,关闭防火墙,SElinux,开启FTP服务,测试
注意事项:
1,采用虚拟用户时,不需要设置chroot,ftp是默认设置为限制在用户家目录
2,采用ACL访问控制比较灵活控制虚拟用户在系统级别的权限
3,在虚拟用户的根目录下,创建挂载点,如 hello
mount –bind /home/ hello
setfacl -R -m u:ftp:rwx hello 可以很灵活配置虚拟用户访问系统其他目录
4,如果FTP根目录是磁盘挂载,在格式化磁盘时,需要添加挂载选项,acl,以便能够ACL控制