一、創建虛擬用戶口令庫文件 數據庫
口令庫文件中奇數行設置用戶名,偶數行設置口令 ide
# vi /etc/vsftpd/ftpuser.txtui
ftpaaaspa
123456ci
ftpbbbhash
123456it
二、生成vsftpd的認證文件 class
安裝名叫「db4-utils-...」的包登錄
# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/ftplogin.db require
注:若是沒有db_load命令,請安裝db4-utils-*相關rpm包。
設置認證文件只對用戶可讀可寫
# chmod 600 /etc/vsftpd/ftplogin.db
三、創建虛擬用戶所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/ftplogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/ftplogin
注意:以上2行中最後的2個文件名ftplogin和第2個步驟中的數據庫名字必須一致!
以上是64位系統使用
32位系統以下:
vi /etc/pam.d/vsftpd.vu
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/ftplogin
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/ftplogin
四、創建虛擬用戶所要訪問的目錄並設置相應權限
# useradd -d /home/ftpsite virtual(用戶名,能夠改成其餘名)
# chmod 700 /home/ftpsite/
通過該步驟的設置,/home/ftpsite就是virtual用戶的主目錄,該用戶也是ftpsite目錄的擁有者。除root用戶以外,只有該用戶具備對該目錄的讀、寫和執行的權限。
五、設置vsftpd.conf配置文件
guest_enable=YES 默認配置沒有這行
guest_username=virtual 默認配置沒有這行
pam_service_name=vsftpd.vu 默認是vsftpd
virtual_use_local_privs=YES 設定虛擬用戶的權限符合他們的宿主用戶
chroot_local_user=YES 禁止本地用戶登出本身的FTP主目錄
其餘默認配置根據本身的需求來修改
六、設置主配置文件
在vsftpd.conf文件中添加用戶配置文件目錄設置
user_config_dir=/etc/vsftpd_user_conf
增長上行的做用是:對各個用戶的權限進行設置,而後在用戶配置文件目錄下建立相應的用戶配置文件,好比爲上述名爲ftpaaa的用戶建立一個配置文件
#vi /etc/vsftpd_user_conf/ftpaaa
anon_world_readable_only=NO 可讀可下載
anon_upload_enable=YES 可上傳
anon_mkdir_write_enable=YES 可建立和刪除文件夾
anon_other_write_enable=YES 可文件更名和刪除文件
local_root=/home/ftpsite/ftpaaa 指定ftpaaa的宿主目錄(全部用戶默認都是登陸到/home/ftpsite,指定後則登陸到指定的目錄中)
一樣爲ftpbbb用戶建立一個配置文件
vi /etc/vsftpd_user_conf/ftpaaa
注意:用戶配置文件名稱與用戶名相同
七、建立用戶的指定登陸目錄(若是沒有配置local_root,則不用建立,由於默認登陸到/home/ftpsite)
mkdir /home/ftpsite/ftpaaa
chown virtual:virtual /home/ftpsite/ftpaaa
chmod 700 /home/ftpsite/ftpaaa
八、啓到vsftpd服務
service vsftpd start