您的位置:首页 > 编程语言 > PHP开发

vsftp 虚拟用户认证

2016-01-13 14:01 507 查看
1.建立用户数据库
touch /home/ftpuser.txt
echo test111 >> ftpuser.txt #
账户奇数行
echo pass111
>>ftpuser.txt #
密码偶数行
echo test222
>> ftpuser.txt
echo
pass222 >>
ftpuser.txt
# rpm -qf $(which
db_load)
db4-utils-4.3.29-9.fc6
rpm -ivh db4_utlis-*.rpm
生成密码文件
db_load -T
-t hash -f /home/ftpuser.txt /etc/vsftpd/vsftpd_login.db 与pam认证文件内名称相同
2.建立验证模式文件
mv
/etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd
与 vsftpd.conf 内
pam_service_name=
vsftpd 相同
添加
auth required
/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 与密码文件名称相同
account
required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 与密码文件名称相同
3.建立一个所有虚拟用户使用的系统用户
useradd -d
/home/vsftp virtual
chmod 755
/home/vsftp
4.修改配置文件启用虚拟用户
guest_enable=YES # 开启虚拟用户功能
guest_username=virtual # 指定虚拟用户使用的系统用户
pam_service_name=vsftpd #
以/etc/pam.d/验证模式文件名相同
5.重新启动后可以用虚拟用户登陆了.
为虚拟用户设置不同权限
virtual_use_local_privs
设置为YES
时,虚拟用户使用与本地用户相同权限,设置为NO 时,虚拟用户使用与匿
名用户相同权限
测试登录 可以用
[username]:[password]@IP地址
为每个用户设置不同权限
1.添加per_user
功能参数,如果开启了此功能,必须为每一个用户都有配置文件
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vsftp_user_conf
2.在/etc/vsftpd/vsftp_user_conf
这个目录下建立与虚拟用户同名的文件,文件中写入用户的私有参数
# echo "write_enable=NO" >
/etc/vsftpd/vsftp_user_conf/test111
我们限制test111 禁止上传文件
3.重启动 vsftpd
登录测试.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息