Linux

在沒有 root 訪問權限的情況下使用 PAM 和 vsftpd

  • March 31, 2016

我正在嘗試在我沒有 root 訪問權限的機器上設置一些 vsftpd 實例。身份驗證應通過帶有 pam_listfile 的 PAM 完成,如下所示:

pam_listfile.so item=group sense=allow file=/path/filename onerr=fail

我可以要求管理員為我設置一個 PAM 服務並包含該行,但他不願意為我的 6 個 vsftpd 實例創建 6 個 PAM 服務,我確實需要為每個 vsftpd 伺服器設置不同的 /path/filename。

有沒有辦法解決這個問題?我可以不使用絕對路徑作為參數嗎?

(我知道正確的解決方案是使用一個 vsftpd 實例並正確設置虛擬使用者。但不幸的是,我必須使用我所擁有的,並且使用者已經存在於 Active Directory 中,並且使用另一個 PAM 服務對系統進行了身份驗證。)

好吧,不幸的是答案是vsftpd無法做到這一點。

您更好的答案可能是從 vsftpd 遷移到 proftpd,這可以支持無需 PAM 集成的虛擬使用者的需求。在您的 /etc/proftpd.conf 中,您將包含以下行:

AuthPAMAuthoritative            off
AuthPam                         off
AuthUserFile                    /opt/etc/passwd.ftp
AuthGroupFile                   /opt/etc/group.ftp

group.ftp 文件只是“ftp”和“nobody”的標準組設置,您的 passwd 文件將為所有條目分配相同的 user:group。您只需指定使用者名、密碼和登錄目錄(shell 使用 /sbin/nologin)。如果您的管理員會為您準備好基礎工作,並允許您擁有/編輯密碼文件,則只需 5 分鐘即可完成設置。

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