2014-09-21 15 views
0

我有一个应用程序作为用户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: 

回答

相关问题