При каждом входе в систему или запросе sudo сервер всегда отклоняет пароль, когда он вводится впервые, но принимает его во второй раз. я нашел эта тема который описывает то, что кажется той же проблемой, но игра с моим файлом /etc/pam.d/system-auth в соответствии с описанным там решением не сработала для меня. Изменение первого экземпляра try_first_pass на use_first_pass, например, привело к постоянному сбою аутентификации при входе, как и удаление nullok. Кто-нибудь знает, что нужно изменить, чтобы система с первого раза принимала правильные пароли?
/etc/pam.d/system-auth:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_ldap.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_ldap.so
редактировать: В ответ на комментарий вот /etc/pam.d/login:
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include system-auth
-session optional pam_ck_connector.so
Позвольте мне добавить, все, что я знаю об авторизации, - это то, что я смог использовать в Google за последний час или около того - я берусь за решение этой проблемы в отчаянии, потому что наш айтишник этого не сделал. Поэтому, пожалуйста, отвечайте соответственно. Я достаточно хорошо знаком с Linux.
редактировать: Отвечая на другой комментарий, вот что отображается в / var / log / secure во время типичной попытки входа в систему (где пароль был введен правильно оба раза). Информация, такая как имя сервера и IP, была изменена.
Oct 28 07:37:41 myserver sshd[944]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=asus-laptop-abc.def.ghi.edu user=matt
Oct 28 07:37:41 myserver sshd[944]: pam_ldap: ldap_starttls_s: Operations error
Oct 28 07:37:43 myserver sshd[944]: Failed password for matt from 123.456.78.90 port 12345 ssh2
Oct 28 07:37:47 myserver sshd[944]: pam_sss(sshd:account): Access denied for user matt: 10 (User not known to the underlying authentication module)
Oct 28 07:37:47 myserver sshd[944]: Accepted password for matt from 123.456.78.90 port 12345 ssh2
Oct 28 07:37:47 myserver sshd[944]: pam_unix(sshd:session): session opened for user matt by (uid=0)
Интересно, что приведенное выше отличается от того, что происходит, если я ввожу действительно неправильный пароль в первый раз, в этом случае эта дополнительная строка появляется после первого pam_ldap
вызов:
Oct 28 08:13:13 myserver sshd[1054]: pam_ldap: error trying to bind as user "uid=matt,ou=People,dc=abc,dc=ghi,dc=edu" (Invalid credentials)
Таким образом, система знает, что учетные данные верны в первом случае, но все равно не выполняет вход ?! И вот что происходит, когда я вызываю use sudo, что также приводит к двойному входу в систему (в данном случае, чтобы использовать nano для чтения / var / log / secure):
Oct 28 08:13:27 myserver sudo: pam_unix(sudo:auth): authentication failure; logname=matt uid=1000 euid=0 tty=/dev/pts/2 ruser=matt rhost= user=matt
Oct 28 08:13:32 myserver sudo: matt : TTY=pts/2 ; PWD=/home_dir/home/matt ; USER=root ; COMMAND=/bin/nano /var/log/secure
редактировать: Эта проблема не возникает, когда я вхожу в систему как root! Он принимает пароль с первой попытки, / var / log / secure выглядит так, что, как я полагаю, нормально:
Oct 29 14:25:58 myserver sshd[7074]: Accepted password for root from 123.456.78.90 port 12345 ssh2
Oct 29 14:25:58 myserver sshd[7074]: pam_unix(sshd:session): session opened for user root by (uid=0)
Кажется, у меня недостаточно репутации, чтобы прокомментировать, так что это своего рода попытка ответа в темноте.
pam_ldap: ldap_starttls_s: Ошибка операций
Мне интересно, указывает ли эта часть вашего журнала на виновника. Я подозреваю, что ваша конфигурация ldap каким-то образом неправильно обрабатывает tls, что приводит к сбою соединения.
Обратите внимание на ответы каждого модуля:
pam_ldap: ldap_starttls_s: Operations error
pam_sss(sshd:account): Access denied for user matt: 10 (User not known to the underlying authentication module)
pam_unix(sshd:session): session opened for user matt by (uid=0)
Итак, у нас есть ldap, говорящий, что он не удался из-за ошибки, sss, говорящий, что он не знает, кто вы, и локальный auth, говорящий об успешном.
Направления для рассмотрения: