天天看点

虚拟账号功能

1、搭建VSFTP服务器,实现系统账号可以被锁定,并且将tom用户加入到黑名单。

2、实现虚拟账号功能,要求虚拟账号t01可以在服务器上有上传文件和目录的权限,而t02只有下载权限,且下载速度为100K。要求虚拟用户t03的家目录和上面两个账号不在同一目录。

3、限制t03用户的下载速度为50K每秒,同时只能下载2个文件,测试效果。

rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

vi /etc/vsftpd/vsftpd.conf

#chroot_local_user=YES 去掉“#”,使其生效 //将用户禁锢在家目录

vi /etc/vsftpd/ftpusers

ctrl+g 和o 加tom 最后一行加tom禁用

[root@localhost vsftpd]# vi vuser.txt //创建三个虚拟用户t01、t01、t03

输入:

t01

123

t02

t03

[root@localhost vsftpd]# db_load -T -t hash -f vusers.txt vusers.db

[root@localhost vsftpd]# chmod 600 vusers.*

[root@localhost vsftpd]# ls -l

-rw------- 1 root root 12288 1月 6 18:48 vusers.db

-rw------- 1 root root 24 1月 6 18:31 vusers.txt

[root@localhost vsftpd]# useradd -d /srv/vuser -s /sbin/nologin vuser

[root@localhost vsftpd]# ls -l /srv

总用量 0

drwx------ 2 vuser vuser 62 1月 6 18:57 vuser //权限700改成500,不然

登入不了

[root@localhost vsftpd]# chmod 500 /srv/vuser/

dr-x------ 2 vuser vuser 62 1月 6 18:57 vuser

[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

~

vi vsftpd.conf

#pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vuser

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vdir //为虚拟账号建立单独的配置文件目录

[root@localhost vsftpd]# mkdir vdir //创建虚拟帐号配置文件目录

[root@localhost vsftpd]# cd vdir

[root@localhost vdir]# vi t01 //创建虚拟用户t01配置文件

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/opt/t01 //设置虚拟用户t01自己的家目录

[root@localhost ~]# ls -l /opt/

drwxr-xr-x 3 root root 29 1月 6 23:29 t01 //查看t01的权限,若属主为vuser,则目录不能带有w权限,W去掉;若属主为root,则权限可以不变

[root@localhost vdir]# cd /opt

[root@localhost opt]# mkdir /t01/t001

[root@localhost t01]# chown vuser t001

[root@localhost t01]# ls -l

drwxr-xr-x 2 vuser root 92 1月 7 00:17 t001

[root@localhost vdir]# vi t02

anon_upload_enable=NO //不允许有上传权限

anon_max_rate=100000 //设置最大传输速率为100KB

local_root=/opt/t02 //设置虚拟用户t02自己的家目录

保存退出

[root@localhost vdir]# mkdir /opt/t02 //创建t02的家目录

[root@localhost vdir]# ls -l /opt //查看t02的权限

[root@localhost opt]# mkdir t02/t002

[root@localhost opt]# ls -l t02 //查看t002权限,其它人默认没有写 入权限

[root@localhost t02]# ls -l

drwxr-xrwx 2 root root 171 1月 6 21:48 t002

[root@localhost t02]# chown vuser t002

[root@localhost opt]# cp /bin/a* /opt/t02/t002 //复制文件到t002目录下

[root@localhost opt]# ls t02/t002 //查看是否复制成功

[root@localhost opt]# systemctl restart vsftpd //重启vsftpd服务

加入以下一行:

local_root=/opt/t03 //指定虚拟用户t03自己的家目录

[root@localhost vdir]# mkdir /opt/t03

[root@localhost vdir]# ls -l /opt

//如果不单独指定这个目录,则虚拟用户的默认在/srv/vuser下,三个用户写的东西三个用户都能看到

而单独指定目录,则每个用户自己可以设置自己的权限

[root@localhost vdir]# vi t03

添加以下两行:vi

anon_max_rate=50000

max_per_ip=2

//验证,测试

[root@localhost opt]# mkdir t03/t003

[root@localhost opt]# cp /bin/b* /opt/t03/t003

[root@localhost opt]# ls t03/t003

[root@localhost opt]# systemctl restart vsftpd

继续阅读