Групи відрізняються від локальних при віддаленому вході в систему


14

Ми зберігаємо наших користувачів у LDAP, поряд із деякими групами, які мають значення в різних системах (включаючи організаційні ролі wheel). Також є групи, локальні для робочих станцій, наприклад, audioабо videoякі не бажано розміщувати в LDAP. Тепер, якщо я входжу локально, я отримую ці локальні групи, але якщо я входжу через SSH в ту саму машину, мені їх не вистачає. Вони, звичайно, повертаються, якщо я використовую їх suвідразу. Можливо, я не на тому шляху, але підозрюю PAM.

Відповідні записи від nsswitch.conf

passwd:      compat ldap
shadow:      compat ldap
group:       compat ldap

Що стосується пам, завжди авторський рядок, але інші рядки однакові

/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 загальний- {сесія, auth, пароль, рахунок}?
eppesuig

який процес / дії ви налаштовуєте на кінцевому клієнті?
Рахул Патіл

1
@Aurelien, коли у вас є "тінь ldap", тоді pam_unix робить аутентифікацію, отримуючи інформацію про пароль з nss.
Стефан Шазелас

1
Думаю, ти не підозрюєш PAM. Швидше за все проблема НІС. PAM взагалі не має уявлення про групи; все це робиться через libc, коли sshd викликає initgroups.
Ніколас Вілсон

1
Насправді, я трохи модифікую це: мабуть, деякі модулі прив'язують виклик pam_setcred для створення груп користувачів, через що sshd викликає initgroups перед pam_setcred. Хммм.
Ніколас Вілсон

Відповіді:


3

Я взяв серце сьогодні і нарешті вирішив це. Пам’ятний ланцюг працює так

  • /etc/pam.d/sshd включає:
    • /etc/pam.d/system-remote-login що включає:
      • /etc/pam.d/system-login що включає:
        • /etc/pam.d/system-auth що має необов'язкові вимоги

Мабуть, останні включення чомусь не працює. Причиною, чому я до цього часу був так спантеличений, було те, що я довіряв, що вони включатимуть роботу, що не було. Якщо хтось може пояснити, чому я буду дуже вдячний. Я це знаю, тому що якщо я додам рядок

auth    optional  pam_group.so

у /etc/pam.d/system-loginтодішній він працює.


1

Програма входу (яка встановлює ваше середовище, включаючи UID, GID та додаткові групи) отримує дані про ім'я користувача <--> UID, GID та додаткові групи, до яких належить ім'я користувача, з якоїсь бази даних. Традиційно з файлів / etc / passwd та / etc / groups, сьогодні також з LDAP. Залежно від джерела даних, групи, які вам призначені, можуть відрізнятися.

Будьте уважні, якщо різні джерела змішані, ви дуже добре можете створити обліковий запис з тим самим іменем, але різні UID (система дійсно використовує UID внутрішньо) або різні групи груп. Результат, як правило, дуже цікавий для повсякденного глядача, в той час як призводить до передчасного облисіння через велике начісування волосся для відповідальних сторін. (Був там.)


0

В nsswitch.conf:

    група: compat ldap

afaik це викликає getgrent, який отримує групи (групові записи)

EDIT: інша справа - додати таке /etc/pam.d/common-auth:

потрібен auth pam_group.so use_first_pass

для отримання додаткової інформації дивіться тут: Призначте місцеві групи користувачам, а можливо, це newgrp-and-groups-прызначається-via-pam-group-so


Цей рядок вже присутній просто так.
Макс

можливо додайте його до "Релевантні записи з nsswitch.conf" у своєму запитанні.
xx4h

зроблено, і редагування, на жаль, не допомогло.
Макс

ви зробили pam-auth-updateі nscd перезапустили?
xx4h

0

У мене була майже схожа проблема: під час входу в систему за допомогою ssh деякі групи бракували. Це було вирішено шляхом зміни /etc/nsswitch.conf:

group:      compat  -> group:      files nis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.