vsftp虚拟用户创建

系统环境centos5.4  2.6.18-53.1.13.el5PAE
采用yum install vsftpd
安装完成以后vsftpd的默认配置文件在/etc/vsftpd
采用独立方式运行,不添加xinetd的方式

一:基本知识
   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服务器
二:建立虚拟用户的过程
1:创建虚拟用户文本文件,添加虚拟用户和密码
    cd /etc/vsftpd/ 
    touch  logins.txt
     奇数行是用户名,偶数是密码
比如:
test
1234
test1
12345


2:生成虚拟数据库文件
    db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db
注意:db_load默认没有安装,yum install db4-utils db4-develdb4-4.3安装才能使用。

3:配置PAM文件,目的是对客户端进行验证
     编辑/etc/pam.d/vsftpd文件,批注所有内容,后添加:
      auth                  required    pam_userdb.so   db=/etc/vsftpd/vuser
      account             required     pam_userdb.so  db=/etc/vsftpd/vuser
注意:不能写成db=/etc/vsftpd/vuser.db刚开始我就这样写的,结果认证失败,注意书写格式。

4:修改虚拟数据库文件vuser.db的权限为 700
      chmod   700 vuser.db
5:增加一个系统用户vuser ,使用它来对应所有虚拟用户,虚拟用户使用系统用户来访问ftp服务器。
       useradd  -d /var/ftp/vuser vuser
       mkdir  /var/ftp/vuser
       chown  vuser.vuser /var/ftp/vuser
centos5.4下面自动设置好了权限和属组
6:修改vsftpd.conf配置文件,使虚拟用户可以访问vsftpd服务器,增加以下参数

注意:“=”两边不能有空格
      guest_enable=YES               ####激活虚拟账户
      guest_username=vuser          ####把虚拟账户绑定为系统账户vuser
      pam_service_name=vsftpd       ####使用PAM验证
7:使用虚拟用户test访问ftp服务器
8:因虚拟用户是其他用户组,当你第一次登录ftp server,建立目录你自己也不能看见,添加ftp使用的系统用户的其他用户增加r属性。
三:控制虚拟用户的访问
1:设置虚拟用户的主配置文件,编辑vsftpd.conf文件,激活:
     user_config_dir=/etc/vsftpd/vsftpd_user_conf(当然可以建立在其他的地方哦!)
2: 建立vsftpd_user_conf
     mkdir  /etc/vsftpd/vsftpd_user_conf
3:设置虚拟用户配置文件,与虚拟账户同名
      touch /etc/vsftpd/vsftpd_user_conf/test
4:编辑虚拟账户test的配置文件test,是虚拟账户test获得相应的权限
      anon_world_readable_only=NO              ###浏览FTP目录和下载
      anon_upload_enable=YES                    ###允许上传
      anon_mkdir_write_enable=YES               ###建立和删除目录
      anon_other_write_enable=YES               ####改名和删除文件
      local_root=/path/                               ####指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。   
5:需要多个虚拟用户就建立多个账户,同时同样的虚拟账户可以指定到虚拟目录下面的某一个目录,这样就能设置同样的一个目录,A和B有不同的上传、下载、删除等权限。

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=数字                                      设置本地用户最大的下载速率




添加vsftp虚拟用户
1、编辑用户信息表,如logins.txt,添加一行用户名一行密码;
     eg:user1
          password1
           user2
           password2
2、在user_list中添加一行用户名;
      user1
3、在vsftpd_user_conf中添加一个与用户名同名的文件;
     eg:user1
user1中文件内容可设置如下:

dirlist_enable=YES
download_enable=YES
# vu1 可访问的完整目录路径,请按你所需作出修改
local_root=/home/ftp
#write_enable=YES 

4、执行如下命令,将新添加用户持久化致vsftpd_login.db中:

db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vsftpd_login.db
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值