为了运行ssh守护进程服务,pam_loginuid
条目必须设置为/etc/pam.d/sshd中的可选项,如针对Ubuntu 13.10的official example中所述。为什么需要使用docker将`pam_loginuid`设置为'optional'的值?
此条目是否可选用于以前版本的Ubuntu?它在Ubuntu 13.10之前是否存在?
设置pam_loginuid
到optional
是什么意思,反正呢?
我的SSH配置在这方面的安全性要低得多吗?
为了运行ssh守护进程服务,pam_loginuid
条目必须设置为/etc/pam.d/sshd中的可选项,如针对Ubuntu 13.10的official example中所述。为什么需要使用docker将`pam_loginuid`设置为'optional'的值?
此条目是否可选用于以前版本的Ubuntu?它在Ubuntu 13.10之前是否存在?
设置pam_loginuid
到optional
是什么意思,反正呢?
我的SSH配置在这方面的安全性要低得多吗?
pam_loginuid
用于在用户通过SSH,X或类似登录进程登录时设置进程的loginuid
审计属性。这个属性可以被审计框架用于各种目的。
但是,设置此审计属性需要启用一些与审计相关的功能;并且默认情况下,Docker drops them,所以audit_setloginuid
调用将失败。
当PAM模块配置为required
时,此类故障是致命的(并且PAM阻止登录进行);而optional
意味着“无论如何”。
我可能是错的,但我相信,虽然pam_loginuid
在以前的版本(我测试了12.04),但它并没有启用;所以这就是为什么13.10和更高需要这种特殊设置。
此调查结果太长,无法发表评论。由于@jpetazzo indicated,这个问题可能是由于缺少CAP_AUDIT_WRITE
的能力。这显然会影响Docker和Linux的某些版本,但不会影响其他版本。所以在这里我会试着调查这个的演变。
AUDIT_WRITE
(2014年5月16日,0.12.0)制成的容器库中删除所有功能,除了列入白名单的人AUDIT_WRITE
)将AUDIT_WRITE
功能添加到白名单oci/defaults_linux.go
所以它似乎好像0.7.2之前所有版本也从1.2开始,所有版本。 0应该保持CAP_AUDIT_WRITE
。由于我看到pam_loginuid
与1.12.5相关的问题,因此可能会涉及其他一些功能。
现在链接:https://docs.docker.com/engine/examples/running_ssh_service/ –