vsftpd虚拟帐号

我讲述一下,我在配置过程 中出现的问题,如果有什么错误,请大家指出。

主要配置文件在/etc/vsftpd/vsftpd.conf

相关的虚拟用户设置在 /etc/vsftpd/vuserconfig

账户文件 /etc/vsftpd/user.txt

相应数据库文件 /etc/pam.d/vsftpd

1    新建虚拟帐号(一行一个帐号,一行一个密码),如图:用户是litong 密码是123456

 

2    生成数据库

保存虚拟帐号和密码的文本文件无法被系统帐号直接调用,需要使用db_load命令生成db数据库文件
命令:   db_load  -T -t  hash -f  /etc/vsftpd/user.txt    /etc/vsftpd/vsftpd_login.db
接着修改权限    chmod  600  /etc/vsftpd/vsftpd_login.db   
3     配置PAM文件
为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块
修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段
auth                      required     pam_userdb.so             db=/etc/vsftpd/vsftpd_login
account                required     pam_userdb.so             dc =/etc/vsfpd/vsftpd_login

4     修改配置文件
怎么说呢,上面都不重要,我写这篇的博客也是为了这步(4.修改配置文件),这一步,有两种方法实现。
 
第一种实现方法
 
1.修改本地用户的家目录权限  705
(这是基本的,要不会出现没有权限浏览目录的)

 

2.修改vsftpd的配置文件,在/etc/vsftpd/vsftpd.conf添加字段

    guest_enable=YES   #(开启虚拟账户映射功能)

    guest_username=itet  #(itet 是系统的本地用户名)

如图:

记住,一定要开启anon_upload_write_enbale=YES    anon_mkdir_write_enable=YES

 这两个字段,否则本地用户家目录权限就是777,也还是不能上传和下载的。 因为上面的是全局的设置,所以想设置个别虚拟用户不能上传,可以把家目录权限弄成505 。好了,第一种方法就讲到这了,大家测试下,是否成功,有些还需要大家思考呢。

第二种方法

  大家应该注意到,文章开头提到  相关的虚拟用户设置在 /etc/vsftpd/vuserconfig    这个在上面的方法中没有用到,在这种方法中会用到。
好了,先新建目录,文本文件
命令顺序:
         cd   /etc/vsft/
        mkdir   vuserconfig
        cd       vuserconfig/
        touch  litong
        touch lixiang
我就用虚拟用户litong,做测试
修改配置文件(/etc/vsftpd/vsftpd.conf)
添加字段
pam_service_name=vsftpd:配置vsftpd使用的PAM模块为vsftpd,默认已经有了
user_config_dir=/etc/vsfrpd/vuserconfig
 
命令: vi  /etc/vsftpd/vuserconfig/litong
添加字段:
guest_enable=YES:开启虚拟帐号登录
guest_username=luyafei:设置ftp对应的系统帐号为ftpvip
anon_world_readable_only=NO:允许匿名用户浏览器整个服务器的文件系统
write_enable=YES:允许在文件系统写入权限
anon_mkdir_write_enable=YES:允许创建文件夹
anon_upload_enable=YES:开启匿名帐号的上传功能
anon_max_rate=100000:限定传输速度为100KB/s
 
    如图:
      

    好了,本地家目录  设置700  ,这样就可以上传,下载了。  vsftpd 服务器,虚拟用户访问就到这里了,

大家比较一下这两种方法,觉的哪个适合,用哪种。