1、實驗環境
操做系統:centOS7
vsftpd版本:vsftpd-3.0.2-22.el7
二.安裝準備
關閉SELinux
(SELINUX爲Linux提供安全強化同時,也讓Linux服務安裝變得更復雜。未正確的爲相關服務配置SELINUX,將致使服務沒法正常運行。因此對於初學者來講,建議關閉SELINUX。)linux
①永久關閉
vim /etc/selinux/config
SELINUX=disable
數據庫
②臨時關閉 setenforce 0
三.安裝vsftpd服務
使用yum安裝vsftpd
yum -y install vsftpd
四.配置虛擬用戶訪問的vsftpd服務
1.建立虛擬用戶密碼文件
vim /etc/vsftpd/vir_user
2.生成虛擬用戶數據庫
yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db
chmod 700 /etc/vsftpd/vir_user.db
3.配置vsftpd pam驗證文件
vim /etc/pam.d/vsftpd(將auth及account的全部配置行均註釋掉,添加以下兩行)
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
4.增長一個系統用戶‘virftp’ ,全部虛擬用戶都會映射到此用戶後對文件系統進行讀寫操做
mkdir /ftproot
useradd -d /ftproot -s /sbin/nologin virftp
chown -R virftp:virftp /ftprootvim
5.設置vsftpd主配置文件 vim /etc/vsftpd/vsftpd.conf #禁止匿名用戶登陸 anonymous_enable=NO #容許本地用戶登陸 local_enable=YES #啓用虛擬帳戶 guest_enable=YES #把虛擬帳戶映射到系統帳戶virftp guest_username=virftp #使用虛擬用戶驗證(PAM驗證) pam_service_name=vsftpd #設置存放各虛擬用戶配置文件的目錄(此目錄下與虛擬用戶名相同的文件爲他的配置文件) user_config_dir=/etc/vsftpd/vsftpd_viruser #啓用chroot時,虛擬用戶根目錄容許寫入 allow_writeable_chroot=YES
6.配置虛擬用戶各自的配置文件(建立虛擬用戶配置文件的存放目錄)
mkdir /etc/vsftpd/vsftpd_viruser/
建立和配置虛擬用戶各自的配置文件:文件名稱是"虛擬用戶名"centos
vim /etc/vsftpd/vsftpd_viruser/lxy1安全
write_enable=YES
#容許瀏覽FTP目錄和下載
anon_world_readable_only=NO
#容許虛擬用戶上傳文件
anon_upload_enable=YES
#容許虛擬用戶建立目錄
anon_mkdir_write_enable=YES
#容許虛擬用戶執行其餘操做(如更名、刪除)
anon_other_write_enable=YES
#上傳文件的掩碼,如022時,上傳目錄權限爲755,文件權限爲644
anon_umask=022
#指定虛擬用戶的虛擬目錄(虛擬用戶登陸後的主目錄)
local_root=/ftproot/admin/
ide
7.建立虛擬用戶的根目錄,要保證虛擬用戶映射的系統用戶,對這個根目錄有讀寫權限 mkdir -p /ftproot/admin/ chown -R virftp.virftp /ftproot/admin/
測試配置結果
1.重啓vsftpd服務
systemctl restart vsftpd
systemctl enable vsftpd
2.關閉防火牆
systemctl stop firewalld
3.利用FZ工具鏈接測試工具