proftpd 配置可以上傳,但無法刪除的特殊權限

常見的特殊的需求:
對於FTP服務器上的某個部門的目錄,要求:
部門所有人員可以上傳下載但無法刪除(包括文件和目錄)
部門領導全部權限(包括刪除)
用redhat自帶的vsftp實現起來比較困難,google了以後發現proftpd實現起來比較簡單
 
例如:
客服部
部門成員member,可以上傳下載,但是無法刪
部門主管manager,有全部權限

下載安裝:
因爲是CENTOS,直接下載rpm安裝
wget http://packages.sw.be/proftpd/proftpd-1.3.2-1.el5.rf.i386.rpm
 
安裝之後
主目錄在/var/ftp
配置文件爲 /etc/proftpd.conf
服務名爲 proftpd
 
直接啓動服務的情況是:
系統用戶直接登錄,且被chroot在"家目錄"下
匿名用戶無法登陸
 
設計實施:
部門的目錄放在/var/ftp/kefu(客服部),部門人員登錄後被chroot在此目錄下
目錄的所有者是主管manager
目錄的所有組是kefu
目錄權限爲770(只有此部門的人員纔可以進此目錄)
 
設置如下:
/var/ftp下的kefu目錄
drwxrwx--- 2 manager kefu 4096 Mar  3 13:11 kefu
/etc/passwd文件的設置(將他們的主目錄設爲/var/ftp/kefu,shell改爲/sbin/nologin不允許ssh)
manager:x:501:502::/var/ftp/kefu:/sbin/nologin
member:x:502:503::/var/ftp/kefu:/sbin/nologin
新建kefu組,member是組員
 
配置文件proftpd.conf

     

    1. <Directory /var/ftp/kefu> 對這個目錄進行限制  
    2.  umask 000  
    3.   <Limit DELE RMD>  
    4.        DenyGroup kefu  
    5.   </Limit>  
    6. </Directory>   

 

解釋:

  1.  umask 000 
  2.  此目錄下所有用戶上傳的掩碼都是000,這樣新文件權限是666,新文件夾是777,這樣做是爲了保證member傳的文件,其他人也可以刪,默認掩碼是022 
  3.   
  4. <Limit DELE RMD> 
  5.     DenyGroup kefu 
  6. 此目錄下對於DELE(刪除文件)RMD(刪除目錄)操作加以限制,對kefu組是拒絕,也就保證了kefu組成員無法執行刪除操作.如果需要對單個用戶(例如member)限制就用 DenyUser member 
  7.  其實就是無法執行(DELE ,RMD)這兩個ftp指令  



 
整個思路:
通過系統權限來允許所有的文件都可以對任何人讀寫(就是非創建者也可以刪)
通過限制FTP指令的執行來限制特定的用戶(組)無法執行刪除
總的來說就是利用兩個層面的限制實現對權限”先放,後收”


 

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