1

В настоящее время я пытаюсь использовать сервер 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

Большое спасибо за ваш ценный вклад.

0