为VSFTPD配置虚拟用户(文本方式)
By admin
- One minute read - 130 words创建虚拟与用户数据库
**1. 创建loguser.txt,**格式如下:
userid pass
比如我创建两个用户:tony 密码为tonypass,etony密码为etonypass 则loguser.txt的内容如下:
tony tonypass etony etonypass
2. 安装数据库生成工具:
# aptitude install libdb3-util
3. 生成数据库:
# db_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
4. 设置数据库文件的访问权限:
# chmod 600 /etc/vsftpd_login.db
配置PAM文件
修改/etc/pam.d/vsftpd 内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
为虚拟用户创建本地系统用户
useradd -d /home/ftpsite virtual mkdir /home/ftpsite chown virtual.virtual /home/ftpsite ls -ld /home/ftpsite drwxr-sr-x 2 virtual virtual 48 2006-08-18 05:48 /home/ftpsite
在目录下创建一些内容
echo “etony’s vsftpd server” > /home/ftpsite/msg chown virtual.virtual /home/ftpsite/msg
创建/etc/vsftpd.conf
根据需要创建/etc/vsftpd.conf,但要确保含有一下设置:
anonymous_enable=NO local_enable=YES write_enable=NO #不清楚为什么这样设置 anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES guest_enable=YES guest_username=virtual listen=YES listen_port=21 pasv_min_port=30000 pasv_max_port=30999
5.启动vsftpd
/etc/init.d/vsftpd start|restart
6.测试
$ lftp localhost -u tony,tonypass lftp tony@localhost:~> ls -rw-r–r– 1 1001 1001 22 Aug 17 21:49 msg lftp tony@localhost:/> exit $ lftp localhost -u tony,tonyp lftp tony@localhost:~> ls ls: Login failed: 530 Login incorrect.