Поврежденная база данных `reverse i-search`: почему и как?

Я записал это, поскольку со мной этого никогда не случалось раньше, и это выглядело довольно странно:

https: // asciinema.пользователь @ DOMAIN и пользователь @ OTHERDOMAIN В системе эти ...

У меня есть следующие настройки:

  • У меня есть пользователи в двух разных доменах из двух разных организаций (отдельные установки AD) с пользователями user @ DOMAIN и ] пользователь @ OTHERDOMAIN
  • В системе эти пользователи сопоставляются с user_d и user_o .
  • Для производительности (и других причин) логин пользователя в сопоставление UID, GID и информация Gecos управляется в / etc / {passwd, group} .
  • Серверы AD не знают о сопоставлении логинов с UID и GID.

В настоящее время я использую CentOS 7.4 и, следовательно, sssd 1.15. 2.

У меня он почти работает (см. Ниже выдержку из соответствующих частей конфигурации). Я могу войти в систему с пользователем @ DOMAIN и локально я (результат whoami ) user_d . Однако мой uid установлен на 10008 . Некоторое групповое назначение является фиктивным, но мои группы из / etc / groups верны.

Вывод getent passwd user_d также дает мне правильный результат из / etc / passwd файл.

Похоже, я упустил лишь небольшую часть головоломки ...

Конфигурация sssd

[sssd]
services = nss, pam
config_file_version = 2
domains = DOMAIN,OTHER

[domain/DOMAIN]
access_provider = ldap
auth_provider = ldap
id_provider = ldap
use_fully_qualified_names = True
full_name_format = %1$s_d

ldap_access_filter = objectClass=person
ldap_tls_reqcert = allow
ldap_schema = ad
ldap_user_object_class = person
ldap_user_name = sAMAccountName
ldap_user_fullname = displayName
ldap_id_mapping = False
ldap_uri = <ldap URI>
ldap_search_base = <search base>
ldap_default_bind_dn = <bind user>
ldap_default_authtok = <bind user password>

/etc/pam.d/password-auth-local

auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_sss.so use_first_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     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     sufficient    pam_sss.so
session     required      pam_unix.so

/etc/nsswitch.conf

passwd:     file

s sss
shadow:     files
group:      files
#initgroups: files

#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

netgroup:   nisplus

publickey:  nisplus

automount:  files nisplus
aliases:    files nisplus
0
задан 23 May 2018 в 09:43
1 ответ

Единственный способ решить эту проблему - это команды sss_seed и sss_override_user .

Сначала импортируйте всех пользователей, которых вы хотите, в Кэш SSS с использованием sss_seed (например, из существующего файла / etc / passwd ).

Затем переопределите атрибуты соответствующим образом, используя sss_override_user .

Обратите внимание, что документация вводит в заблуждение, вам понадобится еще одно двоеточие : в файле импорта переопределения, чем в файле / etc / passwd (просто добавление одного сработало для меня).

0
ответ дан 5 December 2019 в 06:01

Теги

Похожие вопросы