vsftpd 搭建和虚拟用户配置

安装
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


报错分析
连接时报错
解决办法500 OOPS: vsftpd: refusing to run with writable root inside chroot()  
编译了最新版本的vsftp,出现“500 OOPS: vsftpd: refusing to run with writable root inside chroot ()”错误,并且用户无法锁定在自己的目录中。

#vi /etc/vsftpd.conf
添加 allow_writeable_chroot=YES

保存退出
重启vsftp服务,即可正常登录.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值