1、VSFTPD安裝(略)
2、Vsftpd主配置文件
以下vsftpdd配置都是基於RMP的安裝,主配置文件/etc/vsftpd/vsftpd.conf,最後所有產生效用的設置如下:
注:在配置文件中等號前的部分大小寫是敏感的,一定要全部小寫
3、虛擬用戶配置
(1)創建虛擬帳號對應的系統用戶
虛擬帳號vip對應系統帳號henly,並指定主目錄爲/var/ftp/vip
useradd –d /var/ftp/vip henly 創建帳號並同時在/var/ftp下創建目錄
更改家目錄權限:
chmod –R 500 /var/ftp/vip 虛擬帳號vip只允許下載
或
chmod –R 700 /var/ftp/vip 客戶帳號vip允許上傳和下載
注:家目錄權限管理需配合虛擬帳號配置文件使用
(2)建立用戶資料
先建立保存用戶名和密碼的文件vsftpd_user.txt,然後在vsftpd_user.txt中添加用戶名和密碼,一行用戶名,一行密碼,中間不能有空行。
touch /etc/vsftpd/vsftpd_user.txt
vim /etc/vsftpd/vsftpd_user.txt
格式:
用戶名1
密碼
用戶名2
密碼
(3)生成數據庫
保存虛擬帳號和密碼的文本文件無法被系統帳號直接調用,需要使用db_load命令db數據庫文件,
db_load -T -t hash -f /etc/vsftpd/vsftpd_user.txt /etc/vsftpd/vsftpd_user.db
注:如果執行不成功則可能需要安裝db4-utils
(4)修改數據庫文件訪問權限
數據庫文件中保存着虛擬帳號的密碼信息,爲了防止非法用戶盜取,可以修改該文件的訪問權限,生成的認證文件的權限應只對root用戶可讀可寫,即600
chmod 600 /etc/vsftpd/vsftpd_user.db
(5)配置PAM文件
爲了使服務器能夠使用數據庫文件,對客戶端進行身份驗證,需要調用系統的PAM模塊,PAM模塊路徑爲/etc/pam.d/,修改vsftpd對應的PAM配置文件/etc/pam.d/vsftpd,將默認配置使用“#”註釋,添加相應字段:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_user
(6)虛擬帳號配置文件
設置不同權限的虛擬帳號,若使用一個配置文件就無法實現此功能,需要爲每一個虛擬帳號建立獨立的配置文件,並根據需要進行相應的設置。
在主配置文件中的user_config_dir指定路徑下,建立與虛擬帳號同名的配置文件並添加相應的配置字段,
mkdir /etc/vsftpd/henly
touch /etc/vsftpd/henly/vip
vim /etc/vsftpd/henly/vip
anon_other_write_enable=yes 刪除、重命名
4、selinux和iptables配置
setsebool ftpd_disable_trans 1關閉selinux對vsftp的限制
使用system-config-securitylevel-tui命令,選擇定製,把ftp前的星號加上,打開ftp服務的防火牆。
5、重啓vsftpd、配置完成