CentOS vsftpd虛擬用戶創建步驟

1:利用yum源安裝
         yum install vsftpd
2:修改配置文件
         vi /etc/vsftpd/vsftpd.conf
         修改vsftpanonymous_enable=NO(不開啓匿名登錄)
         添加
         guest_enable=YES(開啓虛擬用戶)
         guest_username=www(虛擬用戶映射到本地的用戶)
         user_config_dir=/etc/vsftpd/vsftpd_user_conf(虛擬用戶的配置文件目錄)
3:建立虛擬帳號和用戶口令文件
a: 建立一個包含虛擬用戶名及其口令的文本文件

vi /etc/vsftpd/logins.txt,文件中奇數行爲用戶名、偶數行設置密碼,(可以有多個用戶名和密碼)如下:
         ftpuser #用戶名
         userpassword #密碼
b:
生成vsftpd的認證文件:
         db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
如果提示 db_load: command not found,則利用yum安裝yum install db4-utils。
         chmod 600 /etc/vsftpd/vsftpd_login.db

    c:建立 user_config_dir 文件目錄,並創建以用戶名命名的配置文件
         mkdir /etc/vsftpd/vsftpd_user_conf
         vi /etc/vsftpd/vsftpd_user_conf/ftpuser
         virtual_use_local_privs=YES       設置爲 YES 時,虛擬用戶使用與本地用戶相同權限,
設置爲 NO 時,虛擬用戶使用與匿名用戶相同權限
          write_enable=YES
         local_root=/data/www/    #此用戶的ftp目錄,請確保上面配置的本地用戶www對此目錄有相應權限。          
4:配置PAM文件
         vi /etc/pam.d/vsftpd輸入以下內容並保存
         auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
         account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
5:啓動vsftp

         service vsftpd start
6: 防火牆相關皮配置。
              FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (
就是PASV,被動方式)。
主動模式下FTP 客戶端首先和FTP服務器的TCP 21端口建立連接,通過這個
通道發送命令,客
戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端
用什麼端口接收
數據。在傳送數據的時候,服務器端通過自己的TCP 20端口連接至客戶端的指定端口
發送數據。
             Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而
         是Pasv命令。FTP服務器收到Pasv命令後,隨機打開一個高端端口(端口號大於1024)並且通知客
         戶端在這個端口上傳送數據的請求,客戶端連接FTP服務器此端口,然後FTP服務器將通過這個端口
         進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
因爲大部分ftp客戶端軟件都是被動模式,所以我們要根據被動模式開啓防火牆中的相應端口。
首先,設置被動模式打開的
vi /etc/vsftpd/vsftpd.conf 添加
pasv_min_port=3300            #設置被動模式的端口範圍
pasv_max_port=3310            #設置被動模式的端口範圍

        然後更改防火策略
vi /etc/sysconfig/iptables 添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3300:3310 -j ACCEPT

       最後重啓服務使其生效
service vsftpd rstart
service iptables restart
       除了防火牆,selinux也會阻止ftp登錄,可以關閉selinux。
------到此vsftp的配置完畢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章