图-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 针对实体用户的设置不多,但是必须要用到。希望本文对大家有所帮助!
【编辑推荐】
- proftpd.conf 的设定方式
- 最简单的 Proftpd.conf 设定档
- Linux下安装配置与管理proftpd
- ProFtpd入门指南
- 启动 ProFTPD (超全)
- 安装 ProFTPD (超全)
- 配置 ProFTPD (超全)
- FTP服务器:Proftpd