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 服务器,虚拟用户访问就到这里了,
大家比较一下这两种方法,觉的哪个适合,用哪种。