我正在尝试为提供类似 LDAP 的 HTTP 身份验证的 PAM 模块设置自动安装过程。由于这是一个替代身份验证模块,我需要添加如下内容:
auth sufficient mypam.so authserver=https://someserver.com
由于我的应用程序是一个“监听”用户身份验证的守护进程,因此它并不真正值得拥有自己的配置文件,因此它必须浸入其他内容(例如 GDM、SSH 等)。
我在这里基本上有两个选择:
- 附加或添加到适当的配置文件(并记录所有更改)
- 输出要添加的行以及系统管理员手动编辑的建议
*nix 管理员更喜欢这两个选项中的哪一个?
我还缺少 *nix 管理员喜欢的其他方法吗?
笔记:
我正在尝试将其推销给系统管理员,以便在公司环境中广泛使用。这也可能会推销给最终用户,但在这种情况下,我会默认选择第一个选项。
答案1
我认为自动更改 pam 配置文件不是一个好主意。
- 有太多可能的配置,无法预测我们应该在哪一行配置中插入我们的配置。
- 有时配置会被分成许多文件并包含到主配置中。
- 用户可能只想将您的授权后端用于指定的服务,例如 ssh 或 ftp,而不是系统范围的服务。
- 在最坏的情况下,对 pam 配置进行操作可能会导致:
- 阻止登录系统(当您没有配置数据库和模块队列来检查模块上的末尾时)
- 没有效果(当你把它放在 后面时
pam_permit
) - 可以使用任何(随机)凭据登录(?)
好主意是提供一些示例配置文件,在其中展示如何使用模块来:仅使用数据库登录、使用数据库或系统用户登录等。