我有一個應用程序作爲用戶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: