centos7搭建vsftpd並啟用虛擬用戶
阿新 • • 發佈:2019-02-04
vsftpd auth spec href mkdir -p ecif _id local com
虛擬用戶的特點是只能訪問服務器為其提供的FTP服務,不能訪問系統的其它資源,所以,如果想讓用戶對FTP服務器站內具有寫權限,但又不允許訪問系統其他資源,可以使用虛擬用戶來提高系統的安全性。
在vsftpd中,誰這些虛擬用戶使用的是單獨的口令庫文件(pam_userdb),由可插入認證模塊(PAM)認證。使用這種方式更加安全,並且配置更加靈活。
安裝vsftpd,Berkeley Database(db4)
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
創建PAM文件
vim /etc/pam.d/vsftpd_virtual
#%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
vsftpd配置文件
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/
啟動服務
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/
centos7搭建vsftpd並啟用虛擬用戶