在vsftpd服務中,虛擬用戶被默認做爲匿名用戶進行處理以下降權限,所以對應的配置項一般以anon_開頭。shell
基本搭建過程以下:數據庫
一、建立文本格式的用戶名/密碼列表
文本中奇數行爲用戶名,偶數行爲上一行中用戶所對應的密碼。如:執行如下操做添加兩個用戶mike、john,密碼分別爲123,456安全
新建一個文本:服務器
輸入用戶名和密碼:併發
二、建立Berkeley DB格式的數據庫文件app
有了文本格式的用戶名/密碼列表文件後,以此文件做爲數據源經過db_load工具建立Berkeley DB格式的數據庫文件:tcp
在db_load命令中,-f 選項用於指定數據源文件,-T 選項容許非Berkeley DB的應用程序使用從文本格式轉換的DB數據文件, 「 -t hash 」 選項指定讀取數據文件的基本方法。ide
爲了保證數據安全,能夠將文件權限設置爲 「600」 ,避免數據外泄:工具
三、添加虛擬用戶的映射帳號、建立FTP根目錄:日誌
如如下操做添加了一個名爲 「test」 的系統用戶帳號(此帳號無須設置密碼及登陸shell),並結合實際狀況更改目錄權限,指定的宿主目錄,默認是全部虛擬用戶的根目錄(能夠最後對每一個用戶的配置文件單獨設置)
四、爲虛擬用戶創建PAM認證文件
vsftpd服務默認的PAM認證文件位於 /etc/pam.d/vsftpd ,能夠執行如下操做在/etc/pam.d目錄下創建一個名爲vsftpd.vu的PAM認證文件,用於虛擬用戶認證控制。
以上內容,經過 「 db=/etc/vsftpd/vusers」參數指定了要使用的虛擬用戶數據庫文件位置(省略了.db擴展名)
五、爲不一樣的虛擬用戶創建獨立的配置文件(爲了給不一樣虛擬用戶設置不一樣的權限,若全部的虛擬用戶權限一致,則可忽略這一步)
打開後寫入相應權限
保存退出後,並以一樣的方式創建其餘用戶的獨立的配置文件。
六、更改 /etc/vsftpd/vsftpd.conf 的配置文件以下:
以上各主要配置項字段含義以下:
anonymous_enable=NO:禁止匿名用戶訪問;
local_enable=YES:容許本地系統用戶訪問;
write_enable=YES:啓用任何形式的寫入權限,(如上傳、刪除文件等)都須要開啓此項;
local_umask=022:設置本地用戶所上傳的默認權限掩碼;
listen=NO:是否以獨立運行的方式監聽服務;
pam_service_name=vsftpd.vu:設置用於用戶認證的PAM文件位置;
guest_username=test:指定映射的系統用戶名稱;
guest_enable=YES:是否啓用虛擬用戶;
allow_writeable_chroot=容許被限制用戶的主目錄具備寫權限(此項必須寫入,不然可能會報錯)
anon_world_readable_only=NO:容許用戶下載目錄內容
anon_other_write_enable=YES:容許匿名用戶有其餘寫入權限,如重命名、覆蓋及刪除文件等;
user_config_dir=/etc/vsftpd/vusers_dir:指定虛擬用戶獨立的配置文件目錄
若都有同樣的權限,直接在上面這個配置文件寫入就好,如有不同的權限,能夠寫入到用戶單獨的配置文件中,也可在在用戶單獨的配置文件中指定新的根目錄
保存退出配置文件後,執行systemctl start vsftpd
啓動ftp服務便可使用。
-----關於ftp全部配置項的詳細解釋 -----關於匿名用戶:
-----關於本地用戶:
-----關於全局配置:
-----關於虛擬用戶的配置項: