vsftpd配置虚拟用户

建立虚拟用户 ftp1 及 ftp2,密码均为 123456;映射实体用户为 ftpuser,用户的权限配置文件目录为/etc/vsftpd_user_conf;实现 ftp1 用户具有浏览目录、上传、创建删除目录,重命名文件名功能

1、安装vsftpd服务

yum isntall -y vsftpd

2、生成本地账号数据库文件

#先在/etc/vsftpd中创建一个vuser文件
touch /etc/vsftpd/vuser
vim /etc/vsftpd/vuser
#写入用户名密码(奇数行为用户名,偶数行为密码)
ftp1
123456
ftp2
123456
#创建数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
#设置权限
chmod 700 /etc/vsftpd/vuser.db

3、创建映射实体用户ftpuser

useradd ftpuser		#创建用户
passwd ftpuser		#设置用户账号密码为123456

4、修改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

5、修改主配置文件

vim /etc/vsftpd/vsftpd.conf
#修以下属性为
listen=YES						#ipv4
listen_ipv6=NO					#ipv6
local_enable=YES				#是否允许本地用户登录
#添加以下属性
pam_service_name=vsftpd			#vsftpd使用的可插拔认证模块
guest_username=ftpuser			#指定虚拟用户对应的本地用户
guest_enable=YES				#启用虚拟账号功能
user_config_dir=/etc/vsftpd_user_conf		#指定用户的自定义配置文件所在目录为/etc/vsftpd_user_conf
allow_writeable_chroot=YES

6、创建用户自定义配置文件

#创建目录
mkdir /etc/vsftpd_user_conf
#创建文件文件名对应虚拟用户名
cd /etc/vsftpd_user_conf
touch ftp1
#修改配置文件
vim ftp1
#添加以下属性
guest_username=ftpuser
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

7、修改目录权限

因为没有配置虚拟用户的根目录,所以默认的虚拟用户的根目录为虚拟用户对应的本地用户的家目录,也就是ftpuser

chmod 777 /home/ftpuser