ftp虚拟用户

一.   创建虚拟用户

(1).创建文本文件virtual_suer.txt 用户账号和口令分别为一行记录

 如下所示

Zhangsan //账号

123456 //口令

Lisi

111111

Wangwu

000000

2)检查系统中是否安装db4的所有软件包。尤其是db4-devel-*

3)使用db_load  �CT �Ct hash  �Cf ./virtual_user.txt(账号文件的路径) /etc/vsftpd/virtual_user.db(生成的数据库文件)

还要修改该数据文件的权限 chmod  600 /etc/vsftpd/virtual_user.db

4)新建一个虚拟用户的PAM文件

 Vi /etc/pam.d/virtual_user.vu

内容如下

auth  required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user -- 看你的操作系统是32还是64 

account  required /lib64/security/pam_userdb.so  db=/etc/vsftpd/virtual_user

5)建立虚拟用户设置该用户所要访问的目录。并设置虚拟用户的访问权限

    useradd  -d /home/ftpsite  virtualsuer

chmod 700/home/ftpsite

(6) 编辑vsftpd.conf配置文件进行如下修改。

  guest _enable=YES

guest_username=virtualuser

pam_service_name=virtual_user.vu

(7)重新启动服务,使配置生效。

8)即可登录。

本人遇到的问题在配置过程中有:

(1).当本地用户登陆时出现不能打开/home,一般都是selinux的问题 一般是使用命令setenforce 0.

视情况而定

(2)当匿名用户需要下载或者删除某个文件的一系列的动作时。因为匿名用户的根目录在/var/ftp/pub,所以需要把pub 的权限改成777或者555.也就是要有r和x。

(3)一般本地用户登录显示login failed了。有两个地方可以查一下。第一是local_enable这个值是不是YES,第二个就是pam_service _name=vsftpd是不是这个值

(4)就是在配置虚拟用户时。我配置好些遍,始终登录不成功。因为我配置的书上的一样。最后查看了登录日志。原来是认证文件没有认证成功。查找原因是操作系统是64位的。在PAM文件中的lib 我一直写是lib,其实应该写成lib64,重启服务后,就显示login successfully。

(5)当需要添加虚拟用户时,直接在文件中添加即可.别忘记再执行一遍:db_load �CT �Ct hash�Cf ./virtual_user.txt /etc/vsftpd/virtual_user.db

再次强调在修改配置文件前一定要备份,修改完后一定要重启服务。要认真查阅日志文件,他会告诉你的错误原因。




本文出自 “黎明前的黑暗” 博客,谢绝转载!

你可能感兴趣的:(ftp,虚拟用户)