Pureftpd的權限控制

摘要:Unix系統下pureftpd使用詳解。特別是解決了很多人匿名用戶無法登錄的問題。與數據庫的結合使得管理成千上萬的用戶很輕鬆。

  目錄:

  一、Unix系統權限概述

  二、匿名用戶的權限

  三、真實用戶和虛擬用戶的權限

 --------------------------------------------------------分 割 線-------------------------------------------------

  一、Unix系統權限概述

  1、訪問權限

  Unix 文件系統是一個能夠支持多個用戶同時訪問的文件系統。文件訪問權限分爲三種類型的用戶:文件屬主或用戶(User),同組用戶(Group),其他用戶(Other)。

  用戶對文件或目錄的訪問權限有三種:讀(r)、寫(w)和執行(x)。

  2、文件訪問權限

  如果用戶具有讀文件的訪問權限,就可以查看文件的內容;具有寫文件的訪問權限,就可以修改文件的內容;具有執行文件的訪問權限,就可以運行程序文件。

  3、目錄訪問權限

  對於目錄來說,讀訪問權限允許用戶列出目錄的內容;寫訪問權限運行用戶在目錄中創建或刪除文件及目錄;執行訪問權限允許用戶使用 cd 命令進入目錄或使用該目錄作爲路徑名的一部分。

     重要:pureftpd的權限控制是通過系統目錄的權限來實現的。

  二、匿名用戶權限

  1、變更匿名用戶主目錄的所有者。

  按照我前篇文章(詳情見我的前作《pureftpd基礎:安裝、配置、實現匿名登錄》)的步驟,在系統中創建了匿名用戶的主目錄後,匿名用戶無法進行上傳、下載、建目錄、刪除等等操作。這是因爲匿名用戶的主目錄的所有者不是系統“ftp”用戶。  

    # ls -l /home/


  total 6


  drwxr-xr-x 3 root wheel 512 Oct 16 04:42 ftp


  drwxr-xr-x 2 indian wheel 512 Oct 11 12:55 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  我們看到 ftp 目錄的所有者爲 root 。我們更改“ftp”目錄的所有者,目錄有 rwx 權限。 

   # chown ftp:14 /home/ftp


  # ls -l /home/


  total 6


  drwxr-xr-x 3 ftp ftp 512 Oct 16 04:42 ftp


  drwxr-xr-x 2 indian wheel 512 Oct 11 12:55 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  用 flashfxp 匿名連接。現在匿名用戶可以上傳文件,但是不能下載文件、建文件夾和刪除文件。當你下載時看到沒有被管理員覈准。

  550-This file has been uploaded by an anonymous user. It has not


  550 yet been approved for downloading by the site administrators.


  傳送失敗!

  2、允許匿名用戶下載。

  修改配置文件,允許下載文件。

  # ee /usr/local/etc/pure-ftpd.conf


  AntiWarez yes


  AnonymousCanCreateDirs no


  AnonymousCantUpload no

  “AntiWarez yes ”意思是不接受所有者爲 “ftp” 的文件的下載,我們把它設置爲 “no”,重啓 pureftpd 服務,就可以下載文件了。

  “ AnonymousCanCreateDirs no”,意思是匿名用戶是不能創建目錄,我們把它設置爲“yes”,重啓 pureftpd 服務,匿名用戶就可以創建目錄了。

  “AnonymousCantUpload no”,意思是匿名用戶可以上傳文件,如果設置爲“yes”,匿名用戶不能上傳。

  3、只允許匿名用戶登錄。

  默認配置文件允許匿名用戶和系統帳戶登錄。如果只允許匿名帳戶登錄,修改默認配置文件: 

  AnonymousOnly yes //是否只讓匿名登錄

  重啓服務器或重啓服務(必須)後,就只能匿名登錄了。無論你用什麼帳號,甚至用不存在的帳號登錄(亂碼也行,只要 ftp 服務器的 IP 是對的)都只會登錄到匿名用戶的主目錄。


三、真實用戶和虛擬用戶的權限

  系統真實用戶和PureDB虛擬用戶的權限由系統目錄和文件權限決定。

  1、具有管理權限的用戶。

  具有管理權限的用戶也就是有上傳、下載、建目錄和刪除權限的用戶。 

  # pw groupadd ftpadmingroup


  # pw useradd ftpadmin -g ftpadmingroup


  # pure-pw useradd tom -u ftpadmin -d /home/ftpadmin


  # ls -l /hom/e


  total 8


  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp


  drwxr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin


  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  “ftpadmin”用戶對“ftpadmin”目錄有 rwx 的權限。

  2、系統目錄的 r 權限,控制 FTP 的列表權限。 

  # chmod u-r /home/ftpadmin


  # ls -l /home/


  total 8


  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp


  d-wxr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin


  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  去掉“ftpadmin”目錄的 r 權限。FTP 不能列表,可以上傳、建目錄。但是如果知道文件路徑,照樣可以下載和刪除文件(用迅雷等工具直接填入資源地址就可以下載)。

  3、系統目錄所有者的 w 權限,控制 FTP 的刪除、重命名和建目錄權限。 

  # chmod u+r-w /home/ftpadmin


  # ls -l /home/


  total 8


  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp


  dr-xr-xr-x 5 ftpadmin ftpadmingroup 512 Oct 16 11:02 ftpadmin


  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  去掉 ftpadmin 目錄所有者的 w 權限後,pureftpd 的虛擬用戶不能刪除、重命名文件或目錄,不能建目錄。但是可以下載文件。

  4、系統目錄所有者的 x 權限,控制 FTP 的列表、上傳、下載、建目錄和刪除等全部權限。  

# chmod u+rw-x ftpadmin


  # ls -l


  total 8


  drwxr-xr-x 6 ftp ftp 512 Oct 16 09:45 ftp


  drw-r-xr-x 4 ftpadmin ftpadmingroup 512 Oct 16 11:48 ftpadmin


  drwxr-xr-x 2 indian wheel 512 Oct 16 09:51 indian


  drwxr-xr-x 2 test wheel 512 Oct 11 12:55 test

  去掉 ftpadmin 目錄所有者的 x 權限後,pureftpd 的虛擬用戶不能列表、上傳、下載、建目錄和刪除。

  總結:系統目錄和文件的權限決定 pureftpd 虛擬用戶的權限。


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