虛擬用戶的特色是隻能訪問服務器爲其提供的FTP服務,不能訪問系統的其它資源,因此,若是想讓用戶對FTP服務器站內具備寫權限,但又不容許訪問系統其餘資源,能夠使用虛擬用戶來提升系統的安全性。
在vsftpd中,誰這些虛擬用戶使用的是單獨的口令庫文件(pam_userdb),由可插入認證模塊(PAM)認證。使用這種方式更加安全,而且配置更加靈活。linux
yum install vsftpd db4-utils db4 -y
vim /home/virtual_users.txt
senthil
centos
執行下面命令建立數據庫數據庫
db_load -T -t hash -f /home/virtual_users.txt /etc/vsftpd/virtual_users.db
vim /etc/pam.d/vsftpd_virtualvim
#%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/virtual_users account required pam_userdb.so db=/etc/vsftpd/virtual_users session required pam_loginuid.so
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=YES listen_ipv6=NO pam_service_name=vsftpd_virtual userlist_enable=YES tcp_wrappers=YES guest_enable=YES #啓用虛擬用戶 virtual_use_local_privs=YES user_sub_token=$USER local_root=/ftp/virtual/$USER hide_ids=YES allow_writeable_chroot=YES #避免客戶端500錯誤
mkdir -p /ftp/virtual/senthil
chown -R ftp:ftp /ftp/virtual/senthil/centos
systemctl start vsftpd安全
C:\Users\Administrator>ftp 192.168.2.72 鏈接到 192.168.2.72。 220 (vsFTPd 3.0.2) 用戶(192.168.2.72:(none)): senthil 331 Please specify the password. 密碼: 230 Login successful. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 ftp ftp 670293 Feb 04 03:09 abc -rw-r--r-- 1 ftp ftp 670293 Feb 04 03:08 services 226 Directory send OK. ftp: 收到 127 字節,用時 0.00秒 127.00千字節/秒。 ftp> get services 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for services (670293 bytes). 226 Transfer complete. ftp: 收到 670293 字節,用時 0.02秒 35278.58千字節/秒。 ftp>
參考資料:https://www.unixmen.com/install-vsftp-with-virtual-users-on-centos-rhel-scientific-linux-6-4/服務器