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

vsftpd配置虚拟用户(实战)

2012-07-31 18:01 134 查看
       刚开始玩linux服务器,今天把vsftp改成虚拟用户登录,网上找了很多文章,终于解决了,分享一下,也供自己以后好查阅。     

    1.建立虚拟用户口令库

          vi /etc/vsftpd/logins.txt

        在里面写用户名和口令,奇数行用户名,偶数行口令,例如:

        user01

        666666

        user02

       666666
    2.生成vsftpd的认证文件

       首先安装认证软件

          yum install db4
         生成认证文件命令: db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db 
    3.更改文件权限

         chmod 600 /etc/vsftpd/vsftpd_login.db   vsftpd_login.db只对root用户可读写(安全起见)
    4.建立虚拟用户所需的PAM配置文件

        vi /etc/pam.d/vsftpd.vu  在里面写下面的内容 (新建)
        auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login       

         account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

        保存退出.

       vsftpd_login 是认证文件去掉.db
   5.建立虚拟用户及所要访问的目录并设置相应权限

       groupadd ftpd

       useradd -g ftpd -d /www -s /sbin/nologin -M ftpd     宿主目录home/ftpsite 帐号:virtual

       chmod 700 /homegtpstie/                              宿主目录的权限设为700

       vsftpd服务器中的所有虚拟用户帐号登陆后都在 /www下

       新建虚拟用户也不一定非得放在/www下,放在其他目录也行,只要文件宿主都是ftpd.ftpd就行.
  6.设置vsftpd.conf配置文件       

       vi /etc/vsftpd/vsftpd.conf  最后面加上

       guest_enable=YES               激活虚拟用户

       guest_username=ftpd            虚拟用户在linux里的用户名

       pam_service_name=vsftpd.vu     判断虚拟用户的数据文件

       user_config_dir=/etc/vsftpd_user_conf  虚拟用户指定的配置文件所在地址  (vsftpd_user_conf是文件夹)

       virtual_use_local_privs=YES    设置为 YES 时,虚拟用户使用与本地用户相同权限,设置为 NO 时,虚拟用户使用与匿名用户相同权限  (必须开启)
   7.为不同的虚拟用户设置不同的权限

              1)为虚拟用户设置主配置文件  

              在vsftpd.conf配置文件中,添加user_config_dir项,并设置保存的目录

              user_config_dir=/etc/vsftpd_user_conf
              2)建立配置文件目录  (上面指定了目录,现在还没有建呢)

                    mkdir /etc/vsftpd_user_conf
              3)为每个不同的虚拟用户建立不同的配置文件

              在/etc/vsftpd_user_conf目录中可以为每个虚拟用户建立单独的配置文件,配置文件名称和用户名相同。
              local_root=/data/userspace    设置虚拟用户登录后的主目录

              anon_world_readable_only=NO   具有浏览FTP目录和下载权限 

              anon_upload_enable=YES        具有上传文件权限 

              anon_mkdir_write_enable=YES   具有建立和删除目录的权利 

              anon_other_write_enable=YES   具有文件改名和删除文件的权利

              最后重启vsftpd

              设置文件和文件夹上传后的权限

              vi /etc/vsftpd/vsftpd.conf

              local_umask=022

              file_open_mode=0644
              开启目录访问控制
              chroot_list_enable=YES       锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在                            chroot_list_file参数所指定的文件中列出。默认值为NO。
              chroot_list_file=/etc/vsftpd/chroot_list

         指出被锁定在自家目录中的用户的列表文件。文件格式为一行一用户。通常该文件是/etc/vsftpd/chroot_list。此选项默认不设置。

 

要创建/etc/vsftpd/chroot_list这个文件,然后把要锁定在自家目录的用户名都写上去,一行一个用户名.
最后重启vsftpd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: