a,建立虚拟用户口令库文件。
# cat logins.txt
mike
123
john
321
口令库文件中奇数行设置用户名,偶数行设置口令 。
b,生成vsftpd的认证文件(在第3张光盘中安装)。
# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm
warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 生成认证文件。
c, 设置认证文件只对用户可读可写。
# chmod 600 /etc/vsftpd/vsftpd_login.db
d,建立虚拟用户所需的PAM配置文件。
手工建立vsftpd.vu文件。
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
e,建立虚拟用户及要访问的目录并设置相应的权限。
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限。
# useradd -d /home/ftpsite virtual
# chmod 700 /home/ftpsite
f,设置vsftpd.conf配置文件。
在配置文件中添加虚拟用户的配置内容。
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
重新启动vsftpd服务程序。
g,对vsftpd.conf文件修改后需要重新启动vsftpd服务程序。
# service vsftpd restart
现在就应该可以用虚拟帐号登陆了,
4.对虚拟用户设置不同的权限
设置主配置文件。
在vsftpd.conf文件中添加用户配置文件目录设置。
user_config_dir=/etc/vsftpd_user_conf
建立用户配置文件目录。
使用mkdir命令建立用户配置文件目录。
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件。
用户配置文件名称与用户名相同。
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
里面的内容如下:
anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES 表示用户可以上传文件
anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权限
anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限
没有的配置项默认按照vsftpd.conf的配置内容
# cat logins.txt
mike
123
john
321
口令库文件中奇数行设置用户名,偶数行设置口令 。
b,生成vsftpd的认证文件(在第3张光盘中安装)。
# rpm -ivh db4-utils-4.2.52-7.1.i386.rpm
warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:db4-utils ########################################### [100%]
# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 生成认证文件。
c, 设置认证文件只对用户可读可写。
# chmod 600 /etc/vsftpd/vsftpd_login.db
d,建立虚拟用户所需的PAM配置文件。
手工建立vsftpd.vu文件。
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
e,建立虚拟用户及要访问的目录并设置相应的权限。
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限。
# useradd -d /home/ftpsite virtual
# chmod 700 /home/ftpsite
f,设置vsftpd.conf配置文件。
在配置文件中添加虚拟用户的配置内容。
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
重新启动vsftpd服务程序。
g,对vsftpd.conf文件修改后需要重新启动vsftpd服务程序。
# service vsftpd restart
现在就应该可以用虚拟帐号登陆了,
4.对虚拟用户设置不同的权限
设置主配置文件。
在vsftpd.conf文件中添加用户配置文件目录设置。
user_config_dir=/etc/vsftpd_user_conf
建立用户配置文件目录。
使用mkdir命令建立用户配置文件目录。
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件。
用户配置文件名称与用户名相同。
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
里面的内容如下:
anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES 表示用户可以上传文件
anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权限
anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限
没有的配置项默认按照vsftpd.conf的配置内容