一、建立虚拟用户数据库
# vi /tmp/logins.txt 它的内容是:
longyufei
1985731
liushuai
123456
虚拟用户的信息,格式:
<用户名>
<密码>
(注意前后不能有空格!)
二、以root用户登录系统,建立用户数据库
# db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd_login.db
建立数据库文件 /etc/vsftpd_login.db,同时改变它的文件属性:
# chmod 600 /etc/vsftpd_login.db
三、建立PAM文件,告诉系统你要使用自己的数据库
# vi /etc/pam.d/ftp.vu
内容:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
告诉系统,将新用户授权库了。
四、为虚拟用户建立文件夹并授权
# useradd -d /ftp -s /sbin/nologin virtual(-d 用户的主目录。-s 用户名默认使用的shell ,virtual用户名)
# chown -R virtual.virtual /ftp (更改/ftp目录使用者。)
五、修改vsftpd.conf文件
# vi /etc/vsftpd/vsftpd.conf,在后面加上(我的配置中只保留了一下内容):
anonymous_enable=NO
local_enable=YES
connect_from_port_20=YES
listen=YES
listen_port=21
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual(所有虚拟用户等同于virtual这个系统账号的权限)
user_config_dir=/etc/vsftpd/user_config_dir(指定每个虚拟用户账号配置目录,)
pam_service_name=ftp.vu(要和刚才建的PAM文件对应)
local_root=/www (指定默认的ftp目录,如果不设置,则默认的ftp目录为ftp这个系统账号的默认目录(见/etc/passwd文件内容))
user_config_dir 文件里面对应的longyufei用户的配置文件:
/etc/vsftpd/user_config_dir/longyufei
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/longyufei
anon_mkdir_write_enable=YES