1. 程式人生 > 實用技巧 >CentOS 7 VSFTP 配置虛擬使用者

CentOS 7 VSFTP 配置虛擬使用者

1. 安裝VsFTP服務和元件

 yum install vsftpd db4 db4-utils


2. 新增vsftp使用者

useradd vsftpd -d /home/vsftpd -s /sbin/nologin


3. 編輯 檔案 /etc/vsftpd.conf

vi /etc/vsftp.conf

設定以下配置項

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
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vuser_conf
allow_writeable_chroot=YES


4. 建立使用者密碼文字檔案

vim /etc/vsftpd/vuser_passwd.txt 

(注意奇數行是使用者名稱,偶數行是密碼),新增以下內容:

ftp1
123456

5. 生成虛擬使用者認證的db檔案

執行以下命令:

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db


6. 編輯認證檔案/etc/pam.d/vsftpd

全部註釋掉原來語句,再增加以下兩句:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd


7. 建立虛擬使用者配置檔案

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftp1

注:檔名ftp1 等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效

檔案中新增以下內容:

# 虛擬使用者根目錄,根據實際情況修改
local_root=/home/vsftpd

#可寫
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES


8. 啟動 VsFTP:

systemctl start vsftpd


9. 跟隨系統啟動而啟動

systemctl enable vsftpd


10. 新增服務到防火牆的白名單中, 並重載

firewall-cmd --add-service=ftp --permanent
systemctl restart firewalld


如果還需要繼續新增新使用者,請重複步驟4,5,7