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