ftp

一個proftpd權限配置問題 html

 

最近有人問我關於proftpd的權限配置問題,因爲不熟悉proftpd,因此沒有當即解決。後來找時間研究了一下,獲得瞭解決方法,現共享出來。 ide

 

1、權限需求描述 操作系統

 

每一個部門有本身的文件夾,只有本部門經理、本部門員工和總經理訪問,而且全部用戶都能上傳和下載文件,但只有部門經理和總經理有刪除權限。(大體是這樣的一個要求) 設計

 

實現過程以下:  htm

2、proftpd安裝 文檔

 

1.操做系統環境:   RHEL5.4 2.proftpd版本 :  1.3.0 3.安裝過程 源碼

   #tar  proftpd-1.3.0.tar.bz2    #cd proftpd-1.3.0  #./configure –prefix=/usr/local/proftpd    #make it

   #make install  io

3、建立ftp目錄、用戶、組,並分配權限 class

 

1. 建立所需目錄   #mkdir  -p  /ftpdata/pub 

這個目錄是全部本地用戶登陸的根目錄   #mkdir  /ftpdata/pub/jsb 

這個目錄是技術部的目錄,只容許技術部和總經理訪問  

   #mkdir  /ftpdata/pub/cwb 

這個目錄是財務部目錄,只容許財務部和總經理訪問  

我就以這兩個部門爲例,配置proftpd的朋友,能夠根據本身公司的實際狀況作一些調整。下面建立用戶和組 

 



           

 



 

2. 建立用戶和組  

#groupadd  jsb 建立技術部組 #groupadd  cwb 建立財務部組  

  #useradd –G jsb,cwb  zjl 

建立總經理使用的帳號,同時加入技術部組和財務部組   #useradd  -G  jsb  jsjl 

建立技術部經理帳號,加入技術部組   #useradd   -G  jsb  jsyg1 

建立技術部員工1帳號,加入技術部組   #useradd  -G  jsb  jsyg2 

建立技術部員工2帳號,加入技術部組  

  #useradd  –G  cwb  cwjl 

建立財務部經理帳號,加入財務部組   #useradd  –G  cwb  cwyg1 

建立財務部員工1帳號,加入財務部組   #useradd  –G  cwb  cwyg2 

建立財務部員工2帳號,加入財務部組  

#echo 123 | passwd zjl –stdin  

#echo 123 | passwd jsjl --stdin #echo 123 | passwd jsyg1 --stdin #echo 123 | passwd jsyg2 –stdin  

#echo 123 | passwd cwjl --stdin #echo 123 | passwd cwyg1 --stdin #echo 123 | passwd cwyg2 –stdin  

我把這7個用戶的密碼都設置爲123   

3.設置目錄屬主、屬組和權限  

   #chown  zjl    /ftpdata/pub 

  總經理對這個目錄有寫權限(只有總經理能夠在這個目錄建立新目錄)     

   #chown  jsjl:jsb   /ftpdata/pub/jsb    #chmod  770   /ftpdata/pub/jsb 




 



   #chmod  g+s   /ftpdata/pub/jsb    把/ftpdata/pub/jsb的屬主改成jsjl,屬組改成jsb,屬主和屬組有讀寫執行權限,其餘用戶沒有權限,全部在這個目錄及子目錄裏建立的文件,屬組都爲jsb  

   #chown  cwjl:cwb   /ftpdata/pub/cwb    #chmod  770   /ftpdata/pub/cwb    #chmod  g+s   /ftpdata/pub/cwb 

  把/ftpdata/pub/cwb的屬主改成cwjl,屬組改成cwb,屬主和屬組有讀寫執行權限,其餘用戶沒有權限,全部在這個目錄建立的文件,屬組都爲cwb  

4、修改proftpd配置文件,並啓動服務 

 

  #vi  /usr/local/proftpd/etc/proftpd.conf  

把「#DefaultRoot ~」 改成「DefaultRoot /ftpdata/pub」,即打開註釋,並把登陸位置改成/ftpdata/pub  

把「Umask 022」改成「Umask 007」,即上傳的文件,屬主和屬組有所有權限,其餘用戶沒有權限  

添加以下配置 

<Directory /ftpdata/pub/jsb>         <Limit DELE> 

                AllowUser jsjl                 AllowUser zjl                 DenyALL         </Limit> </Directory> 

<Directory /ftpdata/pub/cwb>         <Limit DELE>         AllowUser cwjl         AllowUser zjl         DenyAll         </Limit> </Directory>  

註釋了從<Anonymous  ~ftp> 至 </Anonymous>全部行,意思是禁止匿名用戶登陸。  

 其餘配置沒有改動,最終proftpd配置清單以下:  

ServerName                      "ProFTPD Default Installation" ServerType                      standalone 




 



DefaultServer                   on Port                            21 Umask                           007 MaxInstances                    30 

User                            nobody Group                           nobody DefaultRoot /data/pub 

AllowOverwrite          on <Directory /ftpdata/pub/jsb>         <Limit DELE> 

                AllowUser jsjl                 AllowUser zjl                 DenyALL         </Limit> </Directory> 

<Directory /ftpdata/pub/cwb>         <Limit DELE>         AllowUser cwjl         AllowUser zjl         DenyAll         </Limit> </Directory> 

<Limit SITE_CHMOD>   DenyAll </Limit>  

啓動proftpd服務 

#/usr/local/proftpd/sbin/proftpd  

5、驗證 

 

分別使用zjl,jsjl,jsyg1,cwjl,cwyg1登陸驗證,權限符合設計的要注。  

6、結束 

 

因爲這篇文檔寫的比較倉促,沒有認真思考文檔格式和語言的組織。若是給你的閱讀帶來不適,敬請諒解。 

 

參考的文檔:源碼目錄/doc/howto/Directory.html     源碼目錄/doc/howto/Limit.html

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息