vsftpd 创建虚拟用户

1.添加一个宿主用户:
useradd vsftpd -s /sbin/nologin
2.安装db4-utils,通过本底数据文件实现虚拟用户访问
yum install db4-utils
3.创建ftp的目录
mkdir /opt/ftp
4.生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/vsftpuser.txt /etc/vsftpd/vsftpuser.db
5.修改生成的用户数据文件权限
 chmod 600 /etc/vsftpd/vsftpuser.db
6.修改PAM 认证文件 /etc/pam.d/vsftpd 注销原有内容后添加
auth        required     /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuser
account     required     /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpuse
7.创建虚拟用户的目录
mkdir /opt/ftp chown o=rwx /opt/ftp
mkdir /opt/ftp/ww /opt/ftp/oftenlin
8.创建虚拟用户的配置文件夹
mkdir /etc/vsftpd/vconf/
9.touch oftenlin
local_root=/opt/ftp/oftenlin
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=300
data_connection_timeout=90
max_clients=1
max_per_ip=1
local_max_rate=25000
pam_service_name=vsftpd
chroot_local_user=YES
10.修改vsftpd.conf
listen=YES
anonymous_enable=NO    设定不允许匿名访问
local_enable=YES       设定本地用户可以访问。注意:如果该项目设定为NO那么所有虚拟用户将无法访问。
chroot_local_user=YES   设定登陆后.只可以访问自己的属主目录.不可访问上一层目录文件
guest_enable=YES          设定启用虚拟用户功能。
guest_username=virtusers 指定虚拟用户的宿主用户。
user_config_dir=/etc/vsftpd/vconf  设定虚拟用户个人Vsftp的配置文件存放路径
xferlog_enable=YES  上传和下载日志文件记录  /var/log/vsftpd.log
xferlog_file= /var/log/xferlog
xferlog_std_format=YES  传输日志文件将以标准xferlog的格式书写  /var/log/xferlog
pam_service_name=vsftpd


打开密码文件里加入(一行是用户.一是密码.依次类推)
#vi /etc/vsftpd/vsftpuser.txt
加入用户后 保存退出

db_load -T -t hash -f /etc/vsftpd/vsftpuser.txt /etc/vsftpd/vsftpuser.db  (然后生成新的虚拟用数据文件)
cp /etc/vsftpd/vconf/ww d               (新建d用户,用虚拟用户模板vconf.tmp文件生成d虚拟用户文件)
vi /etc/vsftpd/vconf/d                         (打开D虚拟用户文件.在第一行最后加入该用户对应的FTP目录)
mkdir /opt/vsftp/www                         (新建WWW目录为d FTP用户登陆目录)
service vsftpd restart

原文地址:https://www.cnblogs.com/oftenlin/p/3459972.html