2014-09-21 2 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. Может ли это иметь какое-то отношение к тому факту, что мой (выскоченный) файл инициализации для приложения содержит:

setgid Y 

? Кроме того, любое предлагаемое исправление было бы замечательным. Поскольку пользователь Y имеет то же имя, что и пользователь X (то есть syslogd:syslogd), я бы предпочел не иметь /etc/pam_radius_auth.conf, принадлежащего группе, а скорее глобальную группу Z.

Редактировать: На всякий случай, я перезапустил процесс после добавления дополнительной группы Z к пользователю X. Все еще не работает.

Edit 2: Похоже, этот процесс не в правильной группе:

[email protected]:/proc/3260# cat status |grep Group 
Groups: 

ответ