*案例3:虚拟用户访问**

案例3:虚拟用户访问
1.创建用户进行FTP认证的用户数据文件,其中奇数行作为账户名,偶数行为密码

[root@centos7-server vsftpd]# cd /etc/vsftpd/
[root@centos7-server vsftpd]# vim vuser.list 
luxingjun
centos
wangminghao
centos
yaoxiaqian
centos

2.使用db_load 命令 用hash算法将原始的明文信息,通过加密转换成数据库文件

[root@centos7-server vsftpd]# db_load -T  -t hash   -f vuser.list    vuser.db

参数解释:
-T
选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。如果指定了选项-T,那么一定要追跟子选项-t
-t
子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。
-f
参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码

3.降低数据库文件的权限(避免其他人看到数据库文件的内容)
[root@centos7-server vsftpd]# chmod 600 vuser.db
4.把原始的明文信息文件删除
[root@centos7-server vsftpd]# rm -f vuser.list
5.创建一个本地用户,用来做虚拟用户在本地的代理,为了安全起见,我们需要禁止这个用户本地登录shell

[root@centos7-server vsftpd]# useradd -d  /var/ftproot/   -s  /sbin/nologin    virtual
[root@centos7-server vsftpd]# ls   -ld   /var/ftproot/
drwx------. 2 virtual virtual 62 Feb 16 22:44 /var/ftproot/
[root@centos7-server vsftpd]# chmod   -Rf   777   /var/ftproot/
[root@centos7-server vsftpd]# ls  -ld  /var/ftproot/
drwxrwxrwx. 2 virtual virtual 62 Feb 16 22:44 /var/ftproot/

6.创建一个用户虚拟用户认证的PAM文件 vsftpd.vu

[root@centos7-server vsftpd]# vim /etc/pam.d/vsftpd.vu 
auth required pam_userdb.so  db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

7.配置文件

[root@localhost vsftpd]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES

8.如果想要针对不同用户设置不同权限

[root@centos7-server vsftpd]# mkdir /etc/vsftpd/vusers_dir/
[root@centos7-server vsftpd]# cd  /etc/vsftpd/vusers_dir/
[root@centos7-server vusers_dir]# touch luxingjun
[root@centos7-server vusers_dir]# touch wangminghao
[root@centos7-server vusers_dir]# touch yaoxiaqian
[root@centos7-server vusers_dir]# vi luxingjun 
[root@centos7-server vusers_dir]# 
[root@centos7-server vusers_dir]# 
[root@centos7-server vusers_dir]# cat luxingjun 
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

还需要编辑配置文件指定用户配置目录,加入以下信息
user_config_dir=/etc/vsftpd/vusers_dir

验证:

[root@centos7-client ~]# ftp 192.168.40.205
Connected to 192.168.40.205 (192.168.40.205).
220 (vsFTPd 3.0.2)
Name (192.168.40.205:root): luxingjun
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
ftp> mkdir 123
257 "/123" created

结果表明当前用户是可以来创建目录的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值