linux下搭建FTP服務

來源:互聯網
上載者:User

 

第一部分:理論
一.FTP伺服器基本原理
1.基本概念:ftp檔案傳輸通訊協定:file   transport   protocol
2.傳輸模式:主動模式和被動模式
3.使用連接埠A. 主動模式:命令控制:21   資料轉送:20
          B. 被動模式:命令控制:21   資料轉送:1024之後的隨機連接埠
二.常用FTP伺服器軟體
Windows下:iis serverU
Linux下:wu-ftp   proftp   vsftp
三.常用的伺服器端軟體vsftp——本章的重中之重:very security  file  transport  protocol
四.常用ftp用戶端軟體
 1.特點:
FTP用戶端軟體的特點
運行在圖形環境下的視窗程序
可使用滑鼠和通過菜單進行操作
使用者介面友好,操作方便
       2.:常用FTP用戶端軟體
CuteFTP, leapftp, flashxp是Windows下流行的商業軟體
Filezilla是Windows下啟動並執行開源軟體
gftp是Linux中GNOME案頭環境中啟動並執行FTP用戶端軟體,是GNOME的重要組成部分
五.vsftpd.conf中常用的配置參數:
anonymous_enable=YES  啟用匿名使用者
local_enable=YES        啟用本機使用者
write_enable=YES        啟用本機使用者寫入權限
local_umask=022         本機使用者組建檔案的掩碼(上傳的檔案許可權是644)
如果上傳檔案夾總許可權777;檔案666(可以用file_open_mode=0777)
dirmessage_enable=YES  dirmessage_enable設定為“YES”時當切換到FTP伺服器中的某個目錄時,將顯示該目錄下的.message隱含檔案的內容
xferlog_enable=YES   xferlog_enable設定為“YES”時FTP伺服器將啟用上傳和下載日誌
(記錄檔:/var/log/xferlog)
connect_from_port_20=YES   connect_from_port_20設定為“YES”時FTP伺服器將啟用FTP資料連接埠的串連請求
xferlog_std_format=YES     xferlog_std_format設定為“YES”時FTP伺服器將使用標準的ftpd xferlog日誌格式
pam_service_name=vsftpd     pam_service_name設定PAM認證服務的設定檔名稱
userlist_enable=YES          userlist_enable設定為“YES”時FTP伺服器將檢查userlist_file設定檔案中指定的使用者是否可以訪問vsftpd伺服器
(userlist_enable=YES  userlist_deny=NO 表示vsftpd.user_list中使用者可以登入)
(userlist_enable=YES  userlist_deny=YES 表示改檔案中使用者不可以登入)
(預設情況下,userlist_deny=yes 也就說,寫到vsftpd.user_list裡面的使用者不能登入)
listen=YES 設定為yes時,ftp以獨立方式啟動,否則以超級進程的方式啟動
tcp_wrappers=YES    tcp_wrappers設定為“YES”時FTP伺服器將使用tcp_wrappers作為主機存取控制方式
chroot_local_user=YES  限制本機使用者禁錮在宿主目錄裡面
max_clients=100 最大用戶端
max_per_ip=5   每個ip的最大串連數
local_max_rate=500000  本機使用者最大傳輸速率  (單位byte)
anon_max_rate=200000  匿名使用者最大傳輸速率
listen_port=2121   更改ftp預設連接埠號碼
六./etc/vsftpd.ftpusers用於儲存不允許進行FTP登入的本機使用者帳號
 
七./etc/vsftpd.user_list檔案具有對vsftpd伺服器更靈活的使用者存取控制
     如果想讓該檔案中的使用者禁止登陸ftp伺服器,則
       userlist_enable=YES
userlist_deny=YES
    如果想讓該檔案中的使用者允許登陸ftp伺服器,則
userlist_enable=YES
userlist_deny=NO
八.vsftpd中支援的使用者類型
1.匿名使用者:匿名使用者名稱:ftp和anonymous
2.系統使用者:系統當中實際存在的使用者
3.虛擬使用者:非系統使用者
第二部分:實驗
實驗一:測試匿名使用者和系統使用者
1.       安裝ftp軟體包:rpm  –ivh  vsftpd……
2.       啟動ftp服務:service   vsftpd   start
3.       在用戶端登陸ftp測試。
A.   在cmd裡面用測試命令:ftp  伺服器ip
B.    用用戶端登陸測試windows用戶端:flashxp, cuteftp, leapftp
                 Linux   用戶端:gftp(先安裝gftp軟體包)
實驗二:ftp虛擬使用者的配置
1.       建立虛擬使用者口令庫檔案(奇數行是使用者名稱,偶數行是密碼)
進入/etc/vsftpd 目錄,然後建立檔案benet
2.       產生vsftpd的認證檔案(需要安裝db4-util書上沒介紹)
db_load -T -t hash -f  /etc/vsftpd/benet  /etc/vsftpd/benet.db
3.       建立虛擬使用者所需的PAM設定檔(/etc/pam.d/)
進入/etc/pam.d,然後建立檔案ftp,內容如下
      auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/benet(庫名)
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/benet(庫名)
4.       建立虛擬使用者所需要的系統使用者
useradd   aa  -d  /virtual(虛擬使用者主目錄)  -s  /sbin/nologin
5.       建立虛擬使用者所要訪問的目錄並設定相應許可權(修改主目錄許可權700)
chmod    700  -R   /virtual
6.       設定/etc/vsftpd/vsftpd.conf設定檔,在文檔末尾添加如下內容:
   guest_enable=YES
guest_username=aa(建立的系統使用者)
pam_service_name=ftp(驗證模組名稱)
   user_config_dir=/etc/vsftpd_user_conf 虛擬使用者權限的配置目錄
7.       進入/etc/vsftpd_user_conf建立檔案aa,bb。這兩個檔案就是aa和bb使用者的許可權設定檔,下面的參數就是具體的可能用的參數
anon_world_readable_only=NO    表示使用者可以瀏覽FTP目錄和下載檔案
anon_upload_enable=YES        表示使用者可以上傳檔案   
anon_mkdir_write_enable=YES    表示使用者具有建立目錄的許可權,不能刪除目錄
anon_other_write_enable=YES    表示使用者具有檔案改名和刪除檔案的許可權
local_root=/                  指定虛擬使用者的目錄
8 . 給aa使用者瀏覽和下載的許可權,給bb使用者瀏覽,上傳,下載,刪除的許可權。
補充實驗
1.       如何?匿名使用者上傳。
在/var/ftp/下建立目錄來實現上傳。
2.       如何限制本地任意切換主目錄。
chroot_local_user = YES

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.