您的位置:首页 > 运维架构 > Linux

centos 6.5下 vsftp 虚拟用户配置

2016-03-18 18:02 671 查看
一:基本知识

   1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器

   2:vsftp的服务进程是vsftpd

3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .

4:vsftpd的用户文件是/etc/vsftpd/ftpusers

5:vsftpd的用户文件是/etc/vsftpd/user_list

6:推荐使用虚拟用户登入vs-FTP服务器

二、安装vsftp

       查看是否安装vsftpd服务

[root@localhost ~]# chkconfig --list 

[root@localhost ~]# chkconfig --list


     如果没有安装,安装vsftpd服务

[root@localhost ~]# yum -y install vsftpd 

[root@localhost ~]# yum -y install vsftpd
三、配置虚拟用户
       1)检查服务器selinux是否开启,如果开启,关闭selinux

[root@localhost ~]# /usr/sbin/sestatus -v 
SELinux status:                 enabled 

[root@localhost ~]# /usr/sbin/sestatus -v
SELinux status:                 enabled
            1.1)关闭selinux方法
                  修改/etc/selinux/config 文件,  将SELINUX=enforcing改为SELINUX=disabled,  重启机器即可。或者#setenforce 0

 

       2)创建虚拟用户文本文件,添加虚拟用户和密码

[root@localhost ~]# cd /etc/vsftpd/  
[root@localhost ~]# touch  vuser.txt 

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost ~]# touch  vuser.txt
             奇数行是用户名,偶数是密码

             比如:

               lowkeyman

              123456
      3)生成虚拟数据库文件(*如果db_load没有安装,yum install db4-utils db4-devel db4-4.3安装才能使用。)

[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt  /etc/vsftpd/vuser.db 

[root@localhost ~]# db_load –T –t hash –f /etc/vsftpd/vuser.txt  /etc/vsftpd/vuser.db


      4)配置PAM文件,目的是对客户端进行验证

            编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:

auth                 required     pam_userdb.so   db=/etc/vsftpd/vuser 

account              required     pam_userdb.so   db=/etc/vsftpd/vuser 

auth                 required     pam_userdb.so   db=/etc/vsftpd/vuser
account              required     pam_userdb.so   db=/etc/vsftpd/vuser
            *不能写成db=/etc/vsftpd/vuser.db

      5)修改虚拟数据库文件vuser.db的权限为 700

[root@localhost ~]# chmod   700  vuser.db 

[root@localhost ~]# chmod   700  vuser.db
      6)增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。

[root@localhost ~]# mkdir  /ftpdir 
[root@localhost ~]# useradd  -d  /ftpdir vuser 
[root@localhost ~]# chown  vuser.vuser  /ftpdir 
[root@localhost ~]# usermod -s /sbin/nologin vuser 

[root@localhost ~]# mkdir  /ftpdir
[root@localhost ~]# useradd  -d  /ftpdir vuser
[root@localhost ~]# chown  vuser.vuser  /ftpdir
[root@localhost ~]# usermod -s /sbin/nologin vuser
      7)修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数

            注意:“=”两边不能有空格

guest_enable=YES                ####激活虚拟账户 
guest_username=vuser           ####把虚拟账户绑定为系统账户vuser 
pam_service_name=vsftpd        ####使用PAM验证 

guest_enable=YES                ####激活虚拟账户
guest_username=vuser           ####把虚拟账户绑定为系统账户vuser
pam_service_name=vsftpd        ####使用PAM验证
       8)设置虚拟用户的主配置文件,编辑vsftpd.conf文件,添加:

user_config_dir=/etc/vsftpd/vsftpd_user_conf 

user_config_dir=/etc/vsftpd/vsftpd_user_conf
       9)建立vsftpd_user_conf

[root@localhost ~]# mkdir   /etc/vsftpd/vsftpd_user_conf 

[root@localhost ~]# mkdir   /etc/vsftpd/vsftpd_user_conf
       10)设置虚拟用户配置文件,与虚拟账户同名

[root@localhost ~]# touch  /etc/vsftpd/vsftpd_user_conf/lowkeyman 

[root@localhost ~]# touch  /etc/vsftpd/vsftpd_user_conf/lowkeyman
       11)编辑虚拟账户lowkeyman的配置文件lowkeyman,是虚拟账户lowkeyman获得相应的权限
 

anon_world_readable_only=NO               ###浏览FTP目录和下载 

anon_upload_enable=YES                      ###允许上传 
anon_mkdir_write_enable=YES                ###建立和删除目录 

anon_other_write_enable=YES                ####改名和删除文件 
local_root=/ftpdir/                                 #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。 

 
anon_world_readable_only=NO               ###浏览FTP目录和下载
anon_upload_enable=YES                      ###允许上传
anon_mkdir_write_enable=YES                ###建立和删除目录
anon_other_write_enable=YES                ####改名和删除文件
local_root=/ftpdir/                                 #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。


四、vsftpd.conf部分解释:

一: 进程类别优化:

     1:listen=YES/NO                                              设置独立进程控制vsftpd

     二: 登录和访问控制选项优化:

     1:anonymous_enable=YES/NO                                    允许/禁止匿名用户登陆

     2:banned_email_file=/etc/vsftpd/vsftpd.banned_emails

                                                                   允许/禁止邮件的使用的存放路径和目录               

        配合使用:deny_email_enable=YES/NO                         允许/禁止匿名用户使用邮件作为密码

     3:banner_file=/etc/vsftp/banner_file                         在文件banner_file添加欢迎词即可

     4:cmds_allowed=HELP,DIR,QUIT,!                               列出被允许使用的FTP命令

     5:ftpd_banner=welcome to ftp server                          和第三条一样是欢迎词屏幕,方法不一样

     6:local_enable=YES/NO                                        允许/禁止本地用户登陆

     7:pam_service_name=vsftpd                                     使用pam模块进行ftp客户端的验证

     8:userlist_deny=YES/NO                                        禁止/允许文件列表user_list的用户访问ftp服务器

         配合使用:userlist_file=/etc/vsftpd/user_list       用户列表文件

         配合使用:userlist_enable=YES/NO                    激活/失效第8条的功能 

     9:tcp_wrappers=YES/NO                                  启用/不启用tcp_wrappers控制服务访问的功能              

     三: 匿名用户选项的优化:

      1:anon_mkdir_write_enable=YES/NO                     允许/禁止匿名用户创建目录、删除文件

      2:anon_root=/path/to/file                                        设置匿名用户的根目录,默认是/var/ftp/

                                                                                           你可以修改这个默认路径

      3:anon_upload_enable=YES/NO                             允许/禁止匿名用户上传

      4:anon_world_readable_only=YES/NO                    禁止/允许匿名用户浏览目录和下载

      5:ftp_username=anonftpuser                            把匿名用户绑定到系统用户名

      6:no_anon_password=YES/NO                              不需要/需要匿名用户的登录密码

     四:本地用户选项的优化:

      1:chmod_enable=YES/NO                                      允许/禁止本地用户修改文件权限

      2:chroot_list_enable=YES/NO                                启用/不启用禁锢本地用户在家目录

      3:chroot_list_file=/path/to/file                             建立禁锢用户列表文件,一行一个用户

      4:guest_enable=YES/NO                                       激活/不激活虚拟用户

      5:guest_username=系统实体用户                       把虚拟用户绑定在某个实体用户上

      6:local_root=/path/to/file                                     指定或修改本地用户的根目录

      7:local_umask=具体权位数字                             设置本地用户新建文件的权限

      8:user_config_dir=/path/to/file                            激活虚拟用户的的主配置文件

     五:目录选项的优化:

      1:text_userdb_names=YES/NO                             启用/禁用用户的名称取代用户的UID

     六:文件传输选项优化:

      1:chown_uploads=YES/NO                                    启用/禁用修改匿名用户上传文件的权限

         配合使用:chown_username=账户                    指定匿名用户上传文件的所有者

      2:write_enable=YES/NO                                        启用/禁止用户的写权限

      3:max_clients=数字                                               设置FTP服务器同一时刻最大的连接数

      4:max_per_ip=数字                                               设置每ip的最大连接数

      七:网络选项的优化:

      1:anon_max_rate=数字                                         设置匿名用户最大的下载速率(单位字节)

      2:local_max_rate=数字                                         设置本地用户最大的下载速率
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: