我有一个应用程序作为用户X运行。用户X有主要组Y和一个补充组Z.我希望应用程序使用Radius通过PAM进行身份验证。我已经安装了libpam-radius-auth
,并且我知道/etc/pam_radius_auth.conf
已正确配置,因为我可以使用SSH登录(也使用PAM Radius)。我的应用程序也可以正确验证,如果我设置允许应用程序作为用户X使用PAM Radius进行身份验证的文件权限?
chmod 444 /etc/pam_radius_auth.conf
。显然,我不想这样做,因为该文件包含共享密码。
现在,据我了解/etc/pam_radius_auth.conf
需要过程可读(因为PAM调用作为用户运行)。令我惊讶的是,
chgrp Z /etc/pam_radius_auth.conf
chmod 440 /etc/pam_radius_auth.conf
不起作用,但
chgrp Y /etc/pam_radius_auth.conf
chmod 440 /etc/pam_radius_auth.conf
一样。 任何人都可以解释为什么文件权限(组Z,即)不起作用?我可以从sudo -u X bash
阅读。这可能与我的应用程序包含的(启动)init文件有关:
setgid Y
?此外,任何建议的修复都会很好。因为,用户Y与用户X具有相同的名称(即syslogd:syslogd
),我不希望组拥有/etc/pam_radius_auth.conf
,而是拥有全球Z组。
编辑:为了以防万一,我已将补充组Z添加到用户X后重新启动了此过程。仍然不起作用。
编辑2:看起来这个过程是不正确的组:
[email protected]:/proc/3260# cat status |grep Group
Groups: