安装
sudo apt-get install vsftpd
如果能启动说明安装成功:sudo service vsftpd restart
为虚拟用户创建本地系统用户
新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
sudo mkdir /home/vsftpd
sudo useradd virtual-d /home/vsftpd -s /bin/false
sudo chown virtual:virtual /home/vsftpd
创建虚拟用户数据库
(1)建立账户
sudo touch /home/loguser.txt 创建账户和密码文件
sudo vi /home/loguser.txt
其中内容格式如下:
user_id
password
注意:奇数行为账户名,偶数行为密码。也就是1.3.5.等行为用户名,2.4.6行为密码;
最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。
(2)生成数据库
sudo apt-get install db5.3-util
sudo db5.1_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db
建立文件夹存放数据库文件
sudo mkdir /etc/vsftpd
(3)配置PAM文件
编辑/建立文件/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
如果没有pam_userdb.so可能是存放的路径不对14.04 64bit存放的路径为
/lib/x86_64-linux-gnu/security/pam_userdb.so
可以做个软连接
ln -s /lib/x86_64-linux-gnu/security/pam_userdb.so /lib/security/pam_userdb.so (没有security就建立文件夹)
我们上一步建立的数据库 vsftpd_login 在此处被使用
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。
(4)配置/etc/vsftpd.conf /etc/vsftpd_user_conf
添加如下
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd.vu
我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
sudo touch user_id
内容:
anon_world_readable_only=NO
anon_upload_enable=YES
write_enable=YES
download_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
local_root=/home/vsftpd/code-backups
重新启动
sudo service vsftpd restart
阅读(1506) | 评论(0) | 转发(0) |