首页 > 代码库 > ftp用虚拟用户访问
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是否关闭。
ftp用虚拟用户访问