vsftpd虛擬用戶
一.關閉SElinux
setenforce 0
二.安裝vsftpd服務
2.1 用yum安裝vsftpd
yum -y install vsftpd

2.2備份vsftpd主配置文件
cp /etc/vsftpd/vsftpd.conf{,.bak}
三.配置虛擬用戶訪問的vsftpd服務:
3.1 創建虛擬用戶密碼文件
vim /etc/vsftpd/vir_user
ftp
123
3.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.3配置vsftpd pam驗證文件:
修改前先備份文件
cp /etc/pam.d/vsftpd{,.bak}
將auth及account的所有配置行均注釋掉,添加如下兩行
vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user account required pam_userdb.so db=/etc/vsftpd/vir_user

3.4增加一個系統用戶‘virftp’ ,所有虛擬用戶都會映射到此用戶后對文件系統進行讀寫操作:
mkdir /ftproot
useradd -d /ftproot -s /sbin/nologin virftp chown -R virftp:virftp /ftproot
3.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

3.6配置虛擬用戶各自的配置文件:
創建‘虛擬用戶配置文件’的存放目錄
mkdir /etc/vsftpd/vsftpd_viruser/
創建和配置虛擬用戶各自的配置文件,
文件名稱是‘虛擬用戶名’
vim /etc/vsftpd/vsftpd_viruser/ftp
# 允許寫入 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/
關閉root用戶亦即其他用戶登錄權限
vim /etc/vsftpd/ftpusers
創建虛擬用戶的根目錄,要保證虛擬用戶映射的系統用戶,對這個根目錄有讀寫權限
mkdir -p /ftproot/admin/ chown -R virftp.virftp /ftproot/admin/
四.測試配置結果:
4.1啟動vsftpd服務
systemctl restart vsftpd systemctl restart vsftpd
關閉防火牆
systemctl stop firewalld
利用‘FlashFXP’工具連接測試



