1.先下载vsftpd
yum -y install vsftpd
2.添加虚拟用户口令文件
例:vim /etc/vsftpd/vuser.txt
zhangsan
1111111
3.生成虚拟用户口令文件
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db (转化数据库文档)
若无db,请先安装
yum -y install db4-utils
4.修改vsftpd的PAM文件
vim /etc/pam.d/vsftpd注释掉其他 并加入两行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
这里特别要注意的是lib,选择64位,否则报错
5.建立本地映射用户并设置宿主目录权限
例:useradd -d 目录 -s /sbin/nologin vuser
chmod 755 目录
6.修改配置文件
vim /etc/vsftpd/vsftpd.conf
开启虚拟用户
guest_enable=YES
FTP虚拟用户对应的系统用户
guest_username=vuser
PAM认证文件
pam_service_name=vsftpd
所有用户都只能访问自己的主目录
chroot_local_user=YES
允许受限用户的写权限
allow_writeable_chroot=YES
调整虚拟用户权限
anonymous_enable=NO 关闭匿名用户登录
anon_upload_enable=YES 允许上传
anon_mkdir_write_enable=YES 允许有写权限
anon_other_write_enable=YES 允许有其他类型上传权限
7.如何分配每个人的虚拟ftp账号,单独目录以及单独定义权限
创建虚拟用户配置文件目录
mkdir -p /etc/vsftpd/vuser.conf.d
编辑每个人的虚拟账号信息
vim /etc/vsftpd/vuser.conf.d/xxx
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
#允许此用户上传的目录
local_root=/tmp/xxx
修改xxx的所属主别忘记了 不然无法上传
chown vuser.vuser /tmp/xxx
修改vsftpd配置文件,添加如下
user_config_dir=/etc/vsftpd/vuser.conf.d(配置文件目录)
重启服务完成即可