ftp用虚拟用户访问

1.创建一个虚拟用户的数据库文件

vim /etc/vsftpd/vuser.list

jerry

jerry

tom

tom

//单行为账户,双行为密码

使用db_load命令用hash算法生成ftp用户的数据库文件vuser.db

 db_load -T -t hash -f vuser.list vuser.db

chmod 600 vuser.db  --为了安全性,权限改小一些

rm -rf vuser.list --删除原始账号和密码的文件

2.创建ftp根目录及虚拟用户映射的系统用户

useradd -d /var/ftproot/ -s /sbin/nologin virtual

chmod -R 755 /var/ftproot

3.建立支持虚拟用户的pam认证文件

vim /etc/pam.d/vsftpd.vu

auth    required  pam_userdb.so         db=/etc/vsftpd/vuser    --db指向刚刚生成的vuser.db文件,但是不要后缀
account required  pam_userdb.so         db=/etc/vsftpd/vuser

 4.修改/etc/vsftpd/vsftpd.conf配置文件

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    --禁止匿名用户登录

local_enable=YES       --允许本地用户登录

guest_username=virtual  --指定虚拟用户映射的账号

pam_service_name=vsftpd.vu --指定pam文件,原来默认的pam文件是vsftpd

user_config_dir=/etc/vsftpd/vusers_dir --用户独立权限配置文件的目录

5.为虚拟用户设置不同的权限

现在jerry和tom的账号权限一样,默认都是不能上传,创建,修改文件,现在给他们配置自己独立的权限

mkdir /etc/vsftpd/vusers_dir

cd  /etc/vsftpd/vusers_dir

vim tom

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

6.重启服务,验证

service vsftpd restart

用另外一台服务器访问该ftp

lftp xxx.xxx.xxx.xxx -u tom

试试能否上传和下载文件

如果有问题,看看selinux和iptables是否关闭。

posted @ 2016-08-29 16:11  linux初学着  阅读(1740)  评论(0编辑  收藏  举报