proftpd學習筆記 二 轉

2021-03-31 11:16:16 字數 3149 閱讀 2720

上次我們講了proftp的基本安裝,由於我們後面有關於mysql和quota的設定,所以編譯的時候把相應的模組都編譯進去了,如果你不需要mysql和磁碟限額的功能,完全可以不需要這麼編譯。

這裡要講乙個非常實用的命令,

/usr/local/proftpd/sbin/ftpshut
這個命令還是比較實用的,因為你可能需要不斷的調整你的伺服器,而這個命令就非常靈活,可以在不停止proftpd程序的前提下,定時停止ftp連線,這裡將會詳細說它是怎麼使用的。

ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]

-l min: 在ftp關閉服務之前的幾分鐘內,嘗試建立新的ftp連線均不被接受

-d min: 在ftp關閉服務之前的幾分鐘內,已經建立的ftp連線將被中止

time: 在多少時間後,伺服器將關閉ftp服務,格式有兩種

+number 經過number分鐘後關閉

mmhh 在今天mm:hh伺服器將關閉

注意,這裡我們用這個命令是把ftp服務給停了,但實際的proftpd程序還沒停止,所以一般除錯ftp會使用到這個命令。

舉例:再經過30分鐘後,ftp服務將關閉,在這之前的20分鐘不可接受任何新的ftp連線,已經建立的在服務關閉前10分鐘強制斷線,並在客戶端顯示「ftp server will shutdown at time」

ftpshut -l 20 -d 10 +30 "ftp server will shutdown at time"

其實ftpshut就是產生/etc/shutmsg ,你只要刪除這個檔案ftp又可以重新服務,或者

直接

ftpshut -r

好了,開始講一些proftpd的基本配置吧,其實大家如果熟悉apache的配置的話,你會發現proftpd的設定基本都是類似的,它的配置基本格式是

#全域性設定

設定專案1 引數1

設定專案2 引數2

#某個目錄的設定

......

#關於匿名使用者的設定

......

我們用到的比較多的可能是limit的使用,limit大致有以下動作,基本能覆蓋全部的許可權了,大家靈活使用就是了。

cmd:change working directory 改變目錄

mkd:make directory 建立目錄的許可權

rnfr: rename from 更改目錄名的許可權

dele:delete 刪除檔案的許可權

rmd:remove directory 刪除目錄的許可權

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 使用者

下面我們以例子來解說proftp的配置,這樣大家可能更加容易理解。

先是前期的使用者和組新增以及目錄的許可權設定

group add ftpusers

useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan

useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload

chown -r kaoyan:upload /home/kaoyan

chmod -r 775 /home/kaoyan

如果你只想ftpusers組的使用者訪問,可以設定成770都行。

設定/usr/local/proftpd/etc/proftpd.conf

注意#表示注釋,對設定沒影響,可以不寫

servername "frank's ftp server"

servertype standalone

defaultserver on

port 21

umask 022

maxinstances 30 #最多有30個proftpd的pid

user nobody

group nobody

timeoutstalled 10

maxclientsperhost 1 "對不起,乙個ip只允許乙個連線"

allowstorerestart on

displaylogin wel***e.msg #歡迎詞檔案

serverident off #遮蔽伺服器版本資訊

defaultroot ~ ftpusers #設定ftpusers組只能訪問自己的目錄

allowoverwrite on

#不允許寫

denyuser kaoyan

transferrate retr 50 user kaoyan

transferrate stor 100 user upload

我這裡實現的方式還可以通過

...

...

<>

...

...

而且更加靈活,具體用那種方式,看大家了,我只是給大家入個門而已

好了,今天就講到這裡,明天繼續講一些proftp的其他配置

學習筆記二 轉戰CSDN

近來開發專案比較多,學習筆記 心得都沒有來得及更新了,在群裡也看了許多小夥伴的優秀文章,自己也學習到許多,所以我要也得行動起來了。近一周,根據自己的情況做了下規劃。首先是自己買的spring boot書籍,本來是想著邊學習邊做記錄,不過初略過了一遍後,發現裡邊的大多為設計思想,自己的能力暫達不到此水...

Numpy學習筆記(二)轉換陣列

一 常見陣列形式在 python 內建物件中,陣列有三種形式 列表 1,2,3 元組 1,2,3,4,5 字典 元組與列表相似,不同之處在於元組的元素不能修改。而字典由鍵和值構成。二 numpy陣列區別 1.python 標準類針對陣列的處理侷限於 1 維,並僅提供少量的功能。2.numpy 最核心...

grep學習筆記轉

grep的工作方式是這樣的,它在乙個或多個檔案中搜尋字串模板。如果模板包括空格,則必須被引用,模板後的所有字串被看作檔名。搜尋的結果被送到螢幕,不影響原檔案內容。grep可用於shell指令碼,因為grep通過返回乙個狀態值來說明搜尋的狀態,如果模板搜尋成功,則返回0,如果搜尋不成功,則返回1,如果...