vsftp 之 虚拟用户
vsftp虚拟用户,以前找了很多资料,配置过很多次,最后都不了了之,现在再次尝试,终于成功了,特此记录下。
1,建立文本格式的用户帐号密码文档
格式如下
[root@womusic ftproot]# cat /root/viruser.txt test1 123456 test2 123456
安装 yum install -y db4-utils
用db4工具将accout文本转换为数据库格式
db_load -T -t hash -f ./viruser.txt /etc/vsftpd/viruser.db
修改pam认证文件
[root@womusic ~]# more /etc/pam.d/vsftpd #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/viruser account required pam_userdb.so db=/etc/vsftpd/viruser
建立ftp目录
mkdir /var/ftproot
设置虚拟用户的在server上的映射账户
useradd -d /var/ftproot -s /sbin/nologin virtual
修改vsftp.conf配置文件
[root@womusic pam.d]# more /etc/vsftpd/vsftpd.conf |grep -v ^# local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES 开启来宾帐号 guest_username=virtual 指定设置虚拟帐号
重启vsftpd,并测试登录
[root@womusic pam.d]# id test1 id: test1 无此用户
可以看到,我们已经成功用虚拟帐号登录服务器,同时此用户并不能被系统所识别。
end!