Proftpd

使用 mod_sql 設置 proftp 使用者和組的最佳實踐

  • August 8, 2021

我正在執行 proftp,但不確定如何正確配置使用者和組。

在我的 proftpd.conf 中,我配置了:

# Set the user and group that the server runs as
User                proftp
Group               proftp

這將影響系統使用者,proftpd 服務正在執行。

mod_sql中有相同設置的選項,這對我來說似乎加倍:

# The SQLDefaultGID directive configures the default GID for users. 
# This value must be greater than any configured SQLMinUserGID. Default: 65533
SQLDefaultGID xxxx


# The SQLDefaultUID directive configures the default UID for users. 
# This value must be greater than any configured SQLMinUserUID. Default: 65533
SQLDefaultUID xxxx

還有一些 proftpd 服務可以執行這個使用者,因為我可以使用top

有沒有最佳實踐,如何設置這些值以獲得最佳安全性?

這些設置沒有直接關係,除了兩者都可能導致以該使用者身份執行的 proftpd 程序出現。

第一個控制主程序在使用完全 root 權限初始化後切換到哪個使用者 ID,以便能夠獲得它需要的所有權限。

其他 (SQL) 設置是預設值,只有在使用者使用 mod_sql 進行身份驗證並且用於此的查詢不返回該資訊時才會發揮作用。因此,它們是否被使用取決於您的 SQL 設置。如果它們適用於此類經過 SQL 身份驗證的使用者,則為使用者處理會話的程序將使用該 UID/GID 執行 - 並被作業系統用於執行文件系統權限檢查並作為新創建文件的預設所有者/組和文件夾。

您希望如何設置任何非系統身份驗證(如 SQL)取決於您的需要。

如果數據庫中的所有使用者都被 chroot 到某個不同的目錄並且不是 shell 使用者等,那麼如果他們共享所有一個使用者 ID/組 ID 可能會很方便,您可能還會將其定義為作業系統使用者/ -group 讓文件和程序在 shell 中以一些已知的名稱列出。同樣可以申請分配給使用者的一些共享的只寫、只讀甚至讀寫目錄,其中可以或希望所有使用者都具有相同的權限。

如果您想在使用者之間共享一些數據,或者他們或他們中的一些人應該通過 FTP 也從 shell 等訪問他們有權訪問的文件。您可能希望擁有唯一的使用者 ID 和一些使用者單獨或一般的組分配給。但在這種情況下,您要麼需要將使用者另外創建為系統使用者,要麼指示系統也使用 SQL User-DB,或者您必須處理在作業系統級別分配的不同數字 ID。也可以將 UID 用作某種主要組,因此具有相似或相同權限的使用者共享一個 UID。

最後,它實際上只取決於您想要成為什麼結果 - 以及使用者(除了 root 之外)如何訪問系統。以及你是否已經有一些你想要採用的預設設置,而不是在沒有真正需要的情況下一直讓它變得不同。

引用自:https://serverfault.com/questions/954678