proftp 共同家目錄 - 權限及參數設定

<例題>

群組 glmcftpupload

使用者 guest  僅上傳    密碼:123

         glmcftp  最高權限      密碼:456

共同家目錄  /home/ftpupload




///////////////////////////////////

groupadd -r glmcftpupload

useradd -g glmcftpupload -d /home/ftpupload guest
useradd -g glmcftpupload -d /home/ftpupload glmcftp

設定使用者密碼



接著修改設定檔。

=======proftpd.conf==========

<Directory /home/ftpupload>
        <Limit STOR>
        AllowAll
        </Limit>
        <Limit RETR MKD RNFR DELE RMD>
        DenyUser guest
        AllowUser glmcftp
        </Limit>
        <Limit DIRS>
        AllowAll
        </Limit>
</Directory>

====================

重開profptd

chmod 2770 /home/ftpupload

由於guest僅提供上傳功能,所以還要限制他SSH功能才算安全

在ssh設定檔/etc/ssh/sshd_config加入以下:

DenyUsers guest

然後趕快去測試看看吧!




=================其它參考資料=================

proftp還有其他更細微的權限設定。
以下是各參數及其修改方式:



CMD:Change Working Directory 改變目錄
MKD:MaKe Directory 建立目錄的權限
RNFR: ReName FRom 更改目錄名的權限
DELE:DELEte 刪除文件的權限
RMD:ReMove Directory 刪除目錄的權限
RETR:RETRieve 從服務端下載到客戶端的權限
STOR:STORe 從客戶端上傳到服務端的權限
READ:可讀的權限,不包括列目錄的權限,相當於RETR,STAT等
WRITE:寫文件或者目錄的權限,包括MKD和RMD
DIRS:是否允許列目錄,相當於LIST,NLST等權限,還是比較實用的
ALL:所有權限
LOGIN:是否允許登陸的權限

針對上面這個Limit所應用的對象,又包括以下範圍

AllowUser       針對某個用戶允許的Limit
DenyUser        針對某個用戶禁止的Limit
AllowGroup      針對某個用戶組允許的Limit
DenyGroup       針對某個用戶組禁止的Limit
AllowAll        針對所有用戶組允許的Limit
DenyAll         針對所有用戶禁止的Limit

關於限制速率的參數為:

TransferRate STOR|RETR 速度(Kbytes/s) user 使用者

MaxInstances 30        #最多有30個proftpd的PID

MaxClients 10             #最多允許10個用戶在線

MaxClientsPerHost 1   #對不起,一個IP只允許一個連接

AllowStoreRestart on
#允許斷點續傳(上傳),斷點續續(下載)是默認支持的,不用設置

DisplayLogin welcome.msg      #歡迎詞文件

ServerIdent off                          #屏蔽服務器版本信息

DefaultRoot ~ ftpusers              #設置ftpusers組只能訪問自己的目錄

MaxHostsPerUser 1 "對不起,每個帳戶最多允許來源ip為1個"
#MaxHostsPerUser 對防止ftp帳號還是比較有用的。

MaxClientsPerUser 1 "對不起,每個帳戶在每個客戶端最多可以同時登陸1次"
#這個參數可以防止多線程軟件下載對服務器的破壞

MaxClientsPerHost 1 "對不起,同一個客戶端只能最多1個帳號可以登陸"
#比如ftp服務端有好多帳戶你都有,但也只能用1個帳號登陸

WtmpLog on
#是否要把ftp記錄在日誌中,如果不想可以設置成off屏蔽掉log日誌。

TimeoutIdle 600                    #客戶端idel時間設置,默認就是600秒

DisplayLogin welcome.msg  #設置ftp登陸歡迎信息文件

關於歡迎文件的設置包含如下參數

%T 目前的時間

%F 所在硬盤剩下的容量

%C 目前所在的目錄

%R Client端的主機名稱

%L Server端的主機名稱

%U 使用者帳戶名稱

%M 最大允許連接人數

%N 目前的服務器連接人數

%E FTP服務器管理員的 email

%i 本次上傳的文件數量

%o 本次下載的文件數量

%t 本次上傳+下載的文件數量

知道這些參數,我們就可以寫出一個友好的歡迎語

vi /home/kaoyan/welcome.msg

歡迎您%U,
這是Frank的測試FTP服務器;
目前時間是:%T;
本服務器最多允許%M個用戶連接數;
目前服務器上已有%N個用戶連接數;
目前你所在的目錄是%C;
目錄所在的硬盤還剩下%F字節。

AllowForeignAddress on
#讓proftp支持現在流行的FXP傳輸方式,默認是不支持的。

PassivePorts 49152 65534        #端口也可自己指定喜歡的
#970414
  修改session_register()==>$_SESSION 否則找不到SESSION值--webftp和proftpd

留言

這個網誌中的熱門文章

解決 MYSQL 登入時,ERROR 1045 (28000) using password: NO 的方法

Windows 10 系統更新後,MSI NB 喇叭 爆音/破音/破聲 問題

解決羅技無線滑鼠找不到驅動,並顯示 USB Receiver 問題