无需 root 权限即可使用 PAM 和 vsftpd

无需 root 权限即可使用 PAM 和 vsftpd

我正在尝试在一台没有 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 服务对系统进行身份验证。)

答案1

嗯,不幸的是,答案是无法使用 vsftpd 来完成。

答案2

更好的答案可能是从 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 文件将为所有条目分配相同的用户:组。您只需指定用户名、密码和登录目录(对于 shell 使用 /sbin/nologin)。如果您的管理员为您做好基础工作,并允许您拥有/编辑密码文件,则只需 5 分钟即可完成设置。

答案3

与使用文件相比,在 PAM 文件中指定组是否有帮助?这样,您可能不需要许多平面文件。(取决于您的意图。)

如何将 FTP 限制给特定的本地组?

相关内容