VSFTPD设置虚拟用户

----转自linuxsir.org
VSFTPD设置虚拟用户,实现用户下载、上传、管理分工:
vsftpd的虚拟用户采用了不与系统帐户口令文件的方法,为了认证这些虚拟用户,vsftpd使用单独的口令库文件(pam_userdb),由可插拔认证模块(PAM)进行认证。使用这种方式更加安全,并且配置更灵活。
口令的认证方式:DB口令库由PAM进行认证
登录映射的本地用户名:guest_username所指定的本地用户,默认为空
登录后进入的目录:guest_username所指定的本地用户的自家目录
对登录后的目录是否可浏览:anon_world_readable_only=NO时可以
对登录后的目录是否可上传:write_enable=YES,且anon_upload_enable=YES时可以
对登录后的目录是否可创建目录:write_enable=YES,且anon_mkdir_write_enable=YES时可以
对登录后的目录是否可改名和删除:wirte_enable=YES,且anon_other_write_enable=YES时可以
是否有用户的自家目录:无
是否能切换到登录目录以外的目录:不能,即设置chroot_local_user=YES
激活此类用户的命令:guest_enable=YES
为了配置虚拟用户的FTP服务器,主要配置步骤为:
A生成虚拟用户口令库文件 B配置生成vsftpd的认证文件 C建立虚拟用户所要访问的目录并设置相应权限 D建立配置文件
建立如下FTP服务器实例:
虚拟用户down具有浏览目录和下载的权限;
虚拟用户upload具有浏览目录和上传的权限;
虚拟用户admin具有浏览目录、上传、下载、文件改名和删除的权限。
(1)生成虚拟用户口令库文件:
建立logins.txt内容如下:一行用户名、一行密码
admin
adminpassword
upload
uploadpassword
down
downpassword
使用db_load命令生成口令库文件:
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_login.db
编辑生成虚拟用户所需的PAM配置文件/etc/pam.d/ftp.vu,加入如下二行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
(2)建立虚拟用户所要访问的目录并设置仅virtual用户访问的权限:
useradd -d /home/ftp virtaul
chmod 700 /home/ftp
编辑/etc/vsftpd/vsftpd.conf增加:user_config_dir=/etc/vsftpd/vsftpd_user_conf
建立此目录:mkdir /etc/vsftpd/vsftpd_user_conf
在上面这个目录中建立虚拟用户的配置文件(以用户名为文件名):
用户down的配置内容:
anon_world_readable_only=NO
用户upload的配置内容:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
用户admin的配置内容:
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
(3)vsftpd.conf配置文件,注意专为虚拟用户设置的选项:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_world_readable_only=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES //启用虚拟用户
guest_username=virtual //将虚拟用户映射为本地virtual用户
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=ftp.vu //指定PAM配置文件为ftp.vu


从网上前辈们总结的这些东西来看,配置虚拟用户,最简单的方法就是使用vsftp自带的--可插拔认证模块(PAM)进行认证了。同时,由于公司所装系统的限制,可能这也是唯一的途径!明天就去验证一把,希望能成功!

猜你喜欢

转载自baoxiaofei.iteye.com/blog/1386431
今日推荐