В настоящее время я пытаюсь использовать сервер Linux (Red Hat Enterprise 7.6) для аутентификации пользователей на основе Microsoft Active Directory. Идея заключается в том, чтобы позволить пользователям подключаться через SSH для загрузки документов на их персональный веб-сайт, не предоставляя им доступ к оболочке.
Короче говоря, мы школа, и мы хотим предоставить доступ к личной папке для наших учеников.
Я пытаюсь использовать SSSD, который звучит многообещающе. Я могу присоединиться к домену, и когда я увеличиваю уровень журнала, я вижу, что пользователи кэшируются на моем сервере Linux. Я тщательно следил за документацией Red Hat и большинством постов, обсуждающих использование SSSD, но я мог кое-что пропустить. Я хотел постепенно развиваться и, прежде чем подключиться к SSH, я хотел сначала попытаться аутентифицировать пользователя локально на консоли (не через SSH). Пользователь не настроен как локальный пользователь. Он определяется только в Active Directory.
Но происходит сбой со следующим сообщением в /var /log /secure:
Dec 10 09:42:05 svx-pub-01 login: pam_unix(login:auth): check pass; user unknown
Dec 10 09:42:05 svx-pub-01 login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost=
Dec 10 09:42:07 svx-pub-01 login: FAILED LOGIN 1 FROM tty1 FOR (unknown), User not known to the underlying authentication module
Насколько я понимаю, sssd не участвует в аутентификации здесь, и я хотел бы понять, почему.
Я знаю, что моя будущая цель - аутентифицировать пользователей через SSH, но сначала я хочу сделать очень простой локальный тест ... Поэтому я определил оболочку по умолчанию в файле sssd.conf. Единственное значение, которое я изменил для цели конфиденциальности id "mydomain.com", что не является реальным значением :)
[sssd]
domains = mydomain.com
config_file_version = 2
services = nss, pam
debug_level = 7
[domain/mydomain.com]
ad_server = svw-dc-00.mydomain.com
ad_domain = mydomain.com
krb5_realm = mydomain.com
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
debug_level = 7
[pam]
debug_level = 7
[ssh]
Вот /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}
default_realm = MYDOMAIN.COM
[realms]
MYDOMAIN.COM = {
}
[domain_realm]
mydomain.com = MYDOMAIN.COM
.mydomain.com = MYDOMAIN.COM
Вот /etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
initgroups: files sss
#hosts: db files nisplus nis dns
hosts: files dns myhostname
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files sss
netgroup: files sss
publickey: nisplus
automount: files sss
aliases: files nisplus
И /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 required pam_faildelay.so delay=2000000
auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet
auth [default=1 ignore=ignore success=ok] pam_localuser.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so forward_pass
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_sss.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session optional pam_oddjob_mkhomedir.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session optional pam_sss.so
session required pam_unix.so
Большое спасибо за ваш ценный вклад.