Мне нужно разрешить пользователям домена (идентификатор пользователя и пароль) доступ к серверу Centos 7, а также локальным пользователям (ключ SSH / пароль без пароля). Я настроил sshd_config как с AllowUsers, так и с AllowGroups и предположил, что если я добавлю к ним локального пользователя, он должен работать. Однако я получаю сообщение об ошибке, когда локальные пользователи пытаются войти в систему:
sshd[23906]: pam_sss(sshd:account): Access denied for user datahub_push: 10 (User not known to the underlying authentication module)
sshd[23906]: fatal: Access denied for user datahub_push by PAM account configuration [preauth]
Пользователи домена работают нормально и имеют запись в разделе AllowGroups в sshd_config. После некоторого поиска в Google появляется предложение, которое мне нужно изменить:
/etc/pam.d/sshd
... но я не уверен, что изменить, и является ли редактирование этого файла лучшей практикой? т.е. следует ли мне использовать вместо этого инструмент authconfig.
Любая помощь очень ценится.
Сам починил! Я добавил следующую строку в
/etc/pam.d/sshd
account sufficient pam_localuser.so
После перезагрузки sshd теперь я могу войти в систему как пользователь домена и локальный пользователь. Вот полный рабочий файл:
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account sufficient pam_localuser.so
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
Надеюсь, это поможет кому-то другому :)