FTP服務的配置與虛擬用戶的使用

FTP簡介:
  FTP 協議是目前最長用的網絡文件傳輸協議,FTP協議從出現到如今已經有40年曆史了.
此協議傳輸是基於明文.爲C/S構架的協議.
  傳輸時使用兩個端口,分別爲21端口和20端口.基於TCP鏈接.
  21端口用於命令傳輸   (命令連接一直保持活動狀態)
  20端口用於數據傳輸   (可同時存在多個鏈接)
  服務器兩種數據傳輸模式: 模式由客戶端決定
  1.主動模式
  2.被動模式數據庫

登錄的用戶類型:
  1.匿名用戶 : anonymous  以 ftp 用戶身份登錄
  2.本地用戶 : 及帳號密碼信息保存在passwd,shadow中的用戶.
  3.虛擬用戶 : 後面有詳細介紹.vim

常見的FTP服務器:
  IIS ,  Serv-U    (windows上)
  wu-ftpd, proftpd     (Linux上)
  pureftpd  ,proftpd功能強 
  vsftpd(Very Secure FTP Daemon)  Redhat上默認,安全性高,但功能少
常見的客戶端:ftp,lftp, gftp, fliash fxp, cuteftpwindows

#這裏以vsftpd爲基礎介紹安裝配置FTP服務器:安全

vsftpd以ftp用戶的身份運行.ftp用戶的家目錄位於:/var/pub
 
安裝:
  1.配置好yum源
  2.yum install vsftpd
 
啓動:
  server vsftpd start
   [此時ftp服務應經可使用了,需共享的文件複製到/var/pub/便可]服務器

配置:vsftpd 的配置文件在目錄/etc/vsftpd/ 下
  1.主配置文件:/etc/vsftpd/vsftpd.conf
  2.用戶控制文件:
     /etc/vsftpd/ftpusers   :拒絕訪問列表
     /etc/vsftpd/user_list  :根據用戶配置決定
主配置文件中經常使用配置選項:
max_clients          定義用戶最大鏈接數
max_per_ip           定義一個IP的最大鏈接數
chroot_localuser     把全部用戶鎖到家目錄
anonymous_enable=NO  匿名用戶登錄
pam_service
userlist_enable=YES
userlist_deny=YES 網絡


vsftpd的高級配置:
虛擬用戶的配置使用:   [注:配置後本地用戶將沒法登錄]
基本步驟:
1.創建虛擬FTP用戶的賬號數據庫文件
2.建立FTP根目錄及虛擬用戶映射的系統用戶
3.創建支持虛擬用戶的PAM認證文件
4.在vsftpd.conf文件中添加支持配置
5.爲個別虛擬用戶創建獨立的配置文件
6.從新加載vsftpd配置
7.使用虛擬FTP帳戶訪問測試ide

一.創建帳號數據庫
   1.vim /etc/vsftpd/vusers.list   目錄可自定義
   mike
   123
   john
   321
  2.cd /etc/vsftpd/
  3.bd_load -T -t hash -f vusers.list   vusers.db   ( yum install db4-utils)
  4. chmod 600 vusers.*    (爲了安全更改權限)
二.建立FTP根目錄及虛擬用戶映射的系統用戶
  1.mkdir /var/ftproot
  2.useradd -d /var/ftproot -s /sbin/nologin virtual
  3.chmod 755 /var/ftproot
  4.chown virtual:virtual /var/ftproot (*此步如不配置,登錄後操做會報權限錯誤)
三.創建支持虛擬用戶的PAM認證文件
  1.vim /etc/pam.d/vsftpd.vu
   寫入如下內容:
#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/vusers
account    required     pam_userdb.so db=/etc/vsftpd/vusers
                                                      ↑
                                             對應第一步創建的vusers.db
四.在vsftpd.conf文件中添加支持配置
  1.vim /etc/vsftpd/vsftpd.conf
配置或添加如下內容:
anonymous_enable=NO          --此項更改
local_enable=YES
write_enable=YES
anon_umask=022                    --此三項默認應該有
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu  --此三項需添加測試

五.爲個別虛擬用戶創建獨立的配置文件
     1.vim /etc/vsftpd/vsftpd.conf
        添加以下內容:
        user_config_dir=/etc/vsftpd/vusers_dir  ("="後爲定義的配置文件目錄)
     2.mkdir /etc/vsftpd/vusers_dir    (創建上面定義的目錄)
     3.cd /etc/vsftpd/vusers_dir         (創建配置文件)
         touch mike                              (創建mike配置文件,爲空)
         vim john                                  (創建並編輯配置文件)
   在john配置文件中添加以下內容:
anon_upload_enable=YES
anon_mkdir_write_enable=YESui

六.從新加載vsftpd配置
     1.service vsftpd reload
七.使用虛擬FTP帳戶訪問測試
    測試結果應爲:
     1. mike用戶能夠登陸,並能夠瀏覽、下載文件,但沒法上傳
     2. john用戶能夠登陸,並能夠瀏覽、下載文件,也能夠上傳
     3.匿名用戶或其餘系統用戶將不能登陸
 server

相關文章
相關標籤/搜索