Мы храним наших пользователей в LDAP вместе с некоторыми группами, которые имеют значение для разных систем (включая организационные роли wheel
). Есть также группы, локальные по отношению к рабочим станциям, например, audio
или video
которые нежелательно помещать в LDAP. Теперь, если я вхожу локально, я получаю эти локальные группы, но если я вхожу через SSH на ту же машину, мне их не хватает. Они, конечно, вернутся, если я буду использовать su
прямо потом. Я могу быть не на том пути, но подозреваю PAM.
Соответствующие записи от nsswitch.conf
passwd: compat ldap
shadow: compat ldap
group: compat ldap
Что касается pam, всегда строка auth, но остальные строки одинаковые
/etc/pam.d/sshd
auth include system-remote-login
/etc/pam.d/system-remote-login
(идентично тому, что system-local-login
я мог бы добавить)
auth include system-login
/etc/pam.d/system-login
auth required pam_tally2.so onerr=succeed
auth required pam_shells.so
auth required pam_nologin.so
auth include system-auth
auth optional pam_gnome_keyring.so
account required pam_access.so
account required pam_nologin.so
account include system-auth
account required pam_tally2.so onerr=succeed
password include system-auth
password optional pam_gnome_keyring.so
session optional pam_loginuid.so
session required pam_env.so
session optional pam_lastlog.so
session include system-auth
session optional pam_gnome_keyring.so auto_start
session optional pam_motd.so motd=/etc/motd
session optional pam_mail.so
/etc/pam.d/su
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
session required pam_env.so
session optional pam_xauth.so
/etc/pam.d/common-auth:
auth required pam_group.so use_first_pass
В чем может быть проблема и как мне ее решить? Я рад предоставить другую необходимую информацию.
/etc/nsswitch.conf
внешностьgroup
? Какой выходgetent YOURUSERNAME
? Ваш/etc/pam.d/sshd
@include общий- {сеанс, аутентификация, пароль, учетная запись}?Ответы:
Я взяла душу сегодня и наконец решила это. Цепочка пам работает так
/etc/pam.d/sshd
включает:/etc/pam.d/system-remote-login
это включает:/etc/pam.d/system-login
это включает:/etc/pam.d/system-auth
который имеет необязательное требованиеОчевидно, что последнее включение не работает по какой-то причине. Причина, по которой я так озадачился, заключалась в том, что я верил, что эти включения сработают, а это не так. Если кто-то может объяснить, почему я был бы очень благодарен. Я знаю это, потому что если я добавлю строку
в
/etc/pam.d/system-login
то время это работает.источник
Программа входа в систему (которая устанавливает вашу среду, включая UID, GID и дополнительные группы) получает данные об имени пользователя <-> UID, GID и дополнительных группах, к которым принадлежит имя пользователя, из некоторой базы данных. Традиционно из файлов / etc / passwd и / etc / groups, сегодня также из LDAP. В зависимости от источника данных назначенные вами группы могут различаться.
Будьте осторожны, если разные источники смешаны, вы можете очень хорошо получить учетную запись с тем же именем, но разными UID (система действительно использует UID внутри), или с разными наборами групп. Результат, как правило, очень интересный для случайного зрителя, в то время как приводит к преждевременному облысению из-за обширных выдергивания волос для ответственных сторон. (Был там.)
источник
В
nsswitch.conf
:afaik это вызывает getgrent, который получает группы (групповые записи)
РЕДАКТИРОВАТЬ: еще одна вещь, чтобы добавить следующее к
/etc/pam.d/common-auth
:для получения дополнительной информации посмотрите здесь: Назначьте локальные группы пользователям и, возможно, это newgrp-and-groups- assign -via-pam-group-so
источник
pam-auth-update
и перезагрузил nscd?У меня была почти похожая проблема: при входе в систему с помощью ssh некоторые группы отсутствовали. Это было решено путем изменения /etc/nsswitch.conf:
источник