我已经创建了使用内置 PAM 身份验证机制的 omiserver snap。在 Ubuntu 桌面上,它运行良好,但在 snappy 环境中,它失败,并在 syslog 中出现条目:
Feb 20 10:58:01 localhost kernel: [60856.512891] audit: type=1400 audit(1487588281.113:363): apparmor="DENIED" operation="open" profile="snap.omiserver" name="/etc/pam.d/other" pid=6524 comm="omiserver" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
我的问题是
是否可以授予我的 snap 权限以便读取和写入
/etc
Ubuntu snappy 核心中的文件夹?在 snappy 环境下,编写我们自己的 PAM 模块进行身份验证是否可行/可能?
对于 OMI 服务器代码,我们能否完全消除对 PAM 模块的依赖,即无需身份验证?
谢谢
答案1
应用程序(目前)无权通过 libpam 处理登录。可以为此添加一个接口,但执行身份验证需要相当高的权限。该接口在(至少)经典版上也可能会变得混乱,因为系统上可能安装了任意数量的 pam 模块,这些模块可能需要额外的访问权限。
我不熟悉 OMI——为什么它使用 libpam 而不是 sudo 之类的?