Vsftp虛拟使用者配置
取自 MonitorWiKi
跳轉到: 導航, 搜尋
VSFTPD虛拟使用者配置
目前機器上安裝的vsftpd一般是rpm而不是源碼編譯,建議使用指令:yum install vsftpd 。配置虛拟使用者有2種方法,一種是用mysql,另一種是用Berkeley DB的db_load工具實作,現在用db_load實作虛拟使用者的。具備這2個主要的程式後就可以開始配置了
1. 生成虛拟使用者密碼庫檔案:
為了建立此密碼庫檔案,先要生成一個文本檔案logins.txt該檔案的格式如下,單數行為使用者名,偶數行為密碼:
Kwol
Admin
admin
2. 生成密碼庫檔案,并修改其權限:
yum install db4-utils*
setsebool -P ftpd_disable_trans 1
#db_load -T -t hash -f ./logins.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db
3.建立一個虛拟使用者的PAM檔案。加上如下兩行内容:
#vi /etc/pam.d/ftp
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/account
注意:如果是32位的系統把lib64改為lib,即
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account
4.建立虛拟使用者,設定該使用者所要通路的目錄,并設定虛拟使用者通路的權限:
#useradd kwolftp
5.編輯/etc/vsftpd/vsftpd.conf檔案,使檔案内容中有關的選項如下所示:
user_config_dir=/etc/vsftpd/
local_enable=YES
write_enable=NO
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log 指定日志檔案路徑
xferlog_std_format=YES
pasv_enable=YES
ftpd_banner=Welcome to blah FTP service kwolftp.
chroot_local_user=NO
listen=YES
tcp_wrappers=YES
guest_enable=YES 激活虛拟使用者
guest_username=kwolftp 虛拟使用者在linux裡的使用者名
pam_service_name=ftp 判斷虛拟使用者的資料檔案
use_localtime=YES 時間設定成與系統時間一緻上面代碼中
另外,user_config_dir=/etc/vsftpd 這個選項表示當虛拟使用者登入成功後(也許是在登陸時)就會讀取這個目錄下的與虛拟使用者名一直的配置檔案,注意user_config_dir的值是目錄的名稱,而且此目錄下要有和虛拟使用者名稱一樣的配置檔案,在第6小結中,以虛拟使用者kwolftp的配置檔案做例子;guest_enable=YES表示啟用虛拟使用者;guest_username=kwolftp則是将虛拟使用者映射為本地使用者;pam_service_name=ftp指定PAM的配置檔案為ftp。
6. 配置虛拟使用者的權限
建立/etc/vsftpd/kwolftp檔案,加入以下内容:
local_root=/data/ftpdir 設定虛拟使用者登入後的主目錄,對改目錄要給予相應的使用者權限,如chown kwolftp /data/ftpdir
anon_world_readable_only=no 匿名是否允許下載下傳可閱讀的檔案
write_enable=yes 允許上傳
anon_upload_enable=yes 匿名使用者允許上傳
anon_other_write_enable=yes 匿名使用者其它的寫權利
此使用者就有了上傳、下載下傳、删除檔案目錄、修改檔案名和浏覽的權限
7. 開放防火牆
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 920 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9981:10281 -j ACCEPT
8.重新啟動VSFTP:
service vsftpd restart
然後就可以使用虛拟使用者登入。
補充
配置檔案的其他參數可以到一下的網站檢視
http://www.chuhu.com/thread-83-1-1.html
http://vsftpd.beasts.org/
當出現500 OOPS: cannot change directory:/home/xxxx的情況,可以常試一下指令
setsebool ftpd_disable_trans 1
cd /etc/vsftp/
vim winenice
local_root=/data/update/
anon_world_readable_only=yes
write_enable=yes
anon_upload_enable=yes
virtual_use_local_privs=yes
#anon_mkdir_write_enable=YES
#anon_world_readable_only=YES
最新版本啟動方式為 /usr/sbin/vsftpd