1、yum -y install vsftpd db4-utils服務器
2、建立一個不能夠登入的系統用戶
建立一個不能夠登入的系統用戶,用來虛擬帳號映射 到時虛擬帳號登入ftp
useradd -s /sbin/nolgin ftpuser
3、修改配置文件
cat /etc/vsftpd/vsftpd.confapp
#是否容許匿名登入 anonymous_enable=NO #是否容許本地用戶登入,主要是虛擬帳號可否登入。 local_enable=YES ## 是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許 write_enable=NO # 你能夠設置本地用戶的文件掩碼爲缺省022,也可根據我的喜愛將其設置爲其餘值 local_umask=022 #ftp 客戶端登入歡迎提示 dirmessage_enable=YES #日誌記錄開啓 xferlog_enable=YES #客戶端創建端口 connect_from_port_20=YES #日誌標準輸出 xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES #容許虛擬用戶登入,映射虛擬用戶到系統實際用戶 guest_enable=YES guest_username=ftpuser 虛擬用戶的配置權限配置,對虛擬用戶的權限能夠進行劃分,容許某些用戶有特定權限 user_config_dir=/etc/vsftpd/vsftpd_user_conf virtual_use_local_privs=YES #用戶登陸FTP後就會禁錮在本身的家目錄 chroot_local_user=YES chroot_list_enable=NO allow_writeable_chroot=YES # (default follows) chroot_list_file=/etc/vsftpd/vsftpd_user_conf #local_root=/home/ftpuser #指定ftp的根目錄 #auser_config_dir=/etc/vsftpd/chroot_list #指定給用戶配置權限目錄的路徑
4、建立FTP登陸時的virtual用戶名和密碼列表
cat /etc/vsftpd/ftpusers.txt
testftp1
123
testftp2
234
使用db_load 工具轉換
db_load -T -t hash -f ftpusers.txt ftpuser.db
db_load -T:轉換tcp
5、創建pam 認證
cat /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/ftpuser
account required pam_userdb.so db=/etc/vsftpd/ftpuseride
6、虛擬用戶分配權限的目錄,及設置虛擬用戶權限的文件,此文件必須以虛擬用戶名命名。
cat /etc/vsftpd/vsftpd_user_conf/testftp1
write_enable=YES工具
重啓vsftpd 服務
systemctl restart vsftpdui