vsftpd虛擬用戶

一.關閉SElinux

setenforce 0

二.安裝vsftpd服務

2.1 用yum安裝vsftpd

yum -y install vsftpd

vsftpd虛擬用戶

2.2備份vsftpd主配置文件

cp /etc/vsftpd/vsftpd.conf{,.bak}

三.配置虛擬用戶訪問的vsftpd服務:

3.1 創建虛擬用戶密碼文件

vim /etc/vsftpd/vir_user

vsftpd虛擬用戶

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

vsftpd虛擬用戶

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

vsftpd虛擬用戶

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

vsftpd虛擬用戶

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/

vsftpd虛擬用戶

關閉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’工具連接測試

vsftpd虛擬用戶

vsftpd虛擬用戶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章