天天看點

vsftp

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