建立vsftpd虚拟用户,保障服务器安全

FTP有三种方式:

匿名登录:如ftp或anonymous。

本地用户登录:使用系统用户登录,在/etc/passwd中。

虚拟用户登录:这是FTP专有用户

      FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。虚拟用户将被映射成一个本地账户来进行访问。

一.检查是否安装了PAM认证所需软件

    rpm -qa|grep db4

    db4-devel-4.7.25-17.el6.x86_64

    db4-cxx-4.7.25-17.el6.x86_64

    db4-4.7.25-17.el6.x86_64

    db4-utils-4.7.25-17.el6.x86_64

    如上结果表示已经成功安装

二.建立本地账户和ftp根目录,并更改权限

   useradd -d /home/ftpsite vftpuser

    chmod 770 /home/ftpsite/

三.建立虚拟账户

 1.建立虚拟账户文件

 [root@localhost vsftpd]# vi account.txt ,该文件名称随意

  alex

  123

  tom

  456

 单数行为用户名,偶数行为对应的密码

 2.生成虚拟账户口令认证文件

  [root@localhost vsftpd]# db_load �CT �Ct hash �Cf /etc/vsftpd/account.txt      /etc/vsftpd/account.db         

  之后可以删除账户文件account.txt,我们只需要account.db

三.编辑vsftpd的PAM文件

  [root@localhost vsftpd]# vi /etc/pam.d/vsftpd 

  将其中所有内容注释掉并添加以下内容

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

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

 注意以上文件的路径

四.编辑vsftpd配置文件vsftpd.conf

  在配置文件最后添加如下内容:

  

  guest_enable=yes      表示开启虚拟用户

  guest_username=vftpuser  表示虚拟用户对应的本地用户,即步骤一种建立的用户

  virtual_use_local_privs=YES  表示虚拟用户获得与本地用户相同权限

  pam_service_name=vsftpd  对应的PAM文件,即步骤三中配置的文件

五.重新启动vsftpd,验证虚拟用户登录。

六.在当前配置下所有的虚拟用户登录后都是在/home/ftpsite目录下,我们也可以对各个用户的权限和   默认目录分别进行设置。

  1.在vsftpd.conf中添加如下行,指明虚拟用户的配置文件所在目录

   user_config_dir=/etc/vsftpd/user_config 

  2.在目录user_config下新建用户alex 和tom 的配置文件,在文件中指明用户的读写权限和根目录

    [root@localhost user_config]# vi alex 

      write_enable=yes    写权限

      local_root=/home/ftpsite/alex   alex用户的根目录

  在/home/ftpsite/下新建alex目录和tom目录,并更改属组

    [root@localhost user_config]# mkdir /home/ftpsite/alex

    chown vftpuser:vftpuser /home/ftpsite/alex

  这样alex和tom只对自己的目录有读写权限


你可能感兴趣的:(服务器,vsftpd,虚拟用户)