proftpd.conf 针对实体用户的设置


ProFTPD 

图-ProFTPD

针对实体用戶的設定

事實上,在上面的 最簡單 proftpd.conf 設定 當中就已經針對了实体用戶( Real User )進行了若干的設定了!不過,如果您還想額外的加入某些設定,那麼就繼續來修改吧!假設我們需要這樣的設定項目:

使用主機本地端時間,而不要使用 GMT 時間;

主機最多允許 50 條連線,且最多允許 100 個使用者上線,當超過 100 個使用者還有其他 FTP 要求時,就顯示:『很抱歉,上線人數額滿了!』;

同一個 IP (或主機) 來源最多僅能具有 5 個 FTP 服務;

允許續傳的動作;

被動式資料流(passive mode)的埠口為 65400 到 65420 這21個埠口!

主機不允許 Root 登入;

想建立一個名為 badbird 的群組,在該群組內的所有使用者都無法離開自己的家目錄(chroot);

在 badbird 這個群組當中的 nogoodbird 這個使用者,該使用者能夠使用 ftp 但是無法使用 ssh 連到主機;

在這個公開的目錄 /home/ftp/pub 中,所有人均不可寫入,只有讀取的權限;

[root@test root]# vi /usr/local/proftpd/etc/proftpd.conf

# 底下是 FTP 主機的環境設定:

ServerName "這個是鳥哥的測試用的 Proftp 主機"

ServerType inetd

DefaultServer on

Port 21

User nobody

Group nobody

TimesGMT off # 所謂的 GMT 時間就是格林威治時間,

# 詳細的時區觀念請參考後續的NTP伺服器

# 因為要使用本地時間,所以設為 off !

MaxInstances 50 # 最多僅有 50 條 prftpd 的 PID

MaxClients 100 "很抱歉上線人數額滿了" # 最多允許 100 個使用者在線上

MaxClientsPerHost 5 # 同一個主機最多可以同時 5 個 FTP 連線

AllowStoreRestart on # 允許使用者上傳續傳!預設是 off

PassivePorts 65400 65420

# 後面接的是埠口,最小到最大的埠口共 21 個!

# 其他與實體用戶較相關的設定值!

Umask 022

RootLogin off # 不許 root 登入!預設就是 off

RequireValidShell off

# 這個設定可以讓使用者不需要具有『能夠執行的 shell 』!例如讓

# nogoodbird 這個具有 /bin/false 的使用者,依然可以使用 ftp 喔!

DefaultRoot ~ badbird

# 注意啊!那個 ~ 代表家目錄的意思喔!特別特別留意! DefaultRoot

# 後面接的是『群組』喔!所以在這裡 badbird 為群組,而不是使用者喔!

# 這裡特別容易搞混亂,請再特別的留意一下阿!只要不屬於 badbird

# 這個群組的 User 就可以離開自己的家目錄了!(沒有被 chroot ) ^_^ 

AllowOverwrite on

Denyall

# 上面的設定中,在根目錄內的所有目錄均具有可讀寫的權力,但是在

# /home/ftp/pub 這個目錄中,不論 Linux 屬性為何,使用者均無法寫入!

# 但是可以瀏覽以及下載喔!在我們這個設定當中, badbird 這個群組無法離開

# 自己的家目錄,至於其他可以離開自己家目錄的使用者,來到這個

# /home/ftp/pub 當中,也不具有寫入的權限喔!

[root@test root]# useradd -g badbird -m -s /bin/false nogoodbird

# 建立這個 nogoodbird 由於不具有 shell 所以不能 SSH 但可以 ftp 喔!

[root@test root]# /etc/rc.d/init.d/xinetd restart

事實上,對於實體用戶實在不需要限制的太多!要不然就不要開放,要不然就直接改成 sftp 說!此外,在上面這個設定當中,我們暫時拿掉了 anonymous 的登入,所以使用 anonymous 將無法登入喔!

通过鸟哥文章的简述,我们能肯定的是proftpd.conf 针对实体用户的设置不多,但是必须要用到。希望本文对大家有所帮助!

相关内容