Bug 56696 - Не запускается sssd с LDAP
Summary: Не запускается sssd с LDAP
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: sssd-ldap (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-31 12:47 MSK by Pavel
Modified: 2025-11-27 09:34 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel 2025-10-31 12:47:11 MSK
При переходе с P10 на P11 перестал запускаться "sssd" с настройкой авторизации LDAP.

dist-upgrade закончился:
Установка завершена. Ошибок нет.

Статус сервиса:
Job for sssd.service failed because the control process exited with error code.
See "systemctl status sssd.service" and "journalctl -xeu sssd.service" for details.
Job for user@16284.service failed because a fatal signal was delivered to the control process.
See "systemctl status user@16284.service" and "journalctl -xeu user@16284.service" for details.
_________________________________________________________________________________________________
[root@server ~]# systemctl status sssd
× sssd.service - System Security Services Daemon
     Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Thu 2025-10-30 15:40:00 +04; 21h ago
 Invocation: 917af4a8be284ef8a79ac91f9a84c8e1
   Main PID: 1032 (code=exited, status=4)
   Mem peak: 13.5M
        CPU: 103ms


sys
окт 30 15:39:55 server systemd[1]: Starting sssd.service - System Security Services Daemon...
окт 30 15:39:59 server sssd[1032]: SSSD couldn't load the configuration database [5]: Input/output error
окт 30 15:40:00 server systemd[1]: sssd.service: Main process exited, code=exited, status=4/NOPERMISSION
окт 30 15:40:00 server systemd[1]: sssd.service: Failed with result 'exit-code'.
окт 30 15:40:00 server systemd[1]: Failed to start sssd.service - System Security Services Daemon.
окт 31 06:50:06 server systemd[1]: /usr/lib/systemd/system/sssd.service:17: PIDFile= references a path below legacy directory /var/run/, updating /var/run/sssd.pid → /run/sssd.pid; please update the unit file accordingly.
окт 31 11:25:28 server systemd[1]: /usr/lib/systemd/system/sssd.service:17: PIDFile= references a path below legacy directory /var/run/, updating /var/run/sssd.pid → /run/sssd.pid; please update the unit file accordingly.
________________________________________________________________________________________________~
[root@server sssd]# cat /etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = my_domain
debug_level = 2

[nss]
filter_users = root,ldap,named,avahi,haldaemon,dbus,nscd

[pam]
pam_pwd_expiration_warning = 3


[domain/my_domain]
id_provider = ldap
auth_provider = ldap
ldap_search_base = dc=my_domain,dc=com
ldap_tls_reqcert = never
cache_credentials = true
lookup_family_order = ipv4_only
ignore_group_members = True
ldap_uri = ldap://ldap0.my_domain.com,ldap://ldap1.my_domain.com
[root@server sssd]# 
_______________________________________________________________________________________________
[root@server sssd]# rpm -qa |grep sssd
sssd-krb5-common-2.9.7-alt3.x86_64
sssd-ldap-2.9.7-alt3.x86_64
sssd-client-2.9.7-alt3.x86_64
sssd-2.9.7-alt3.x86_64
Comment 1 Evgeny Shesteperov 2025-11-15 21:06:11 MSK
Попробовал через ALT Domain, воспроизвёл ошибку https://bugzilla.altlinux.org/45470.

Пожалуйста, предоставьте конкретные шаги для воспроизведения, а именно Ваше создание и настройки авторизации LDAP + SSSD (сервер + клиент). Без данной информации проблему не воспроизвести.
Comment 2 Pavel 2025-11-17 08:27:03 MSK
(Ответ для Evgeny Shesteperov на комментарий #1)
> Попробовал через ALT Domain, воспроизвёл ошибку
> https://bugzilla.altlinux.org/45470.
> 
> Пожалуйста, предоставьте конкретные шаги для воспроизведения, а именно Ваше
> создание и настройки авторизации LDAP + SSSD (сервер + клиент). Без данной
> информации проблему не воспроизвести.

Добрый День.
Шаги для воспроизведения:

1. На хост развернут сервер с дистрибутива "alt-server-v-10.4-x86_64.iso".
2. Настроена LDAP авторизация, содержимое файлов конфигурации
предоставлено в первоначальном сообщении.
 2.1 Дополнительно:
   cat ./nsswitch.conf
passwd:     files systemd sss
shadow:     tcb files sss
group:      files systemd sss role
gshadow:    files sss
hosts:      files myhostname dns
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
automount:  files
aliases:    files

control system-auth     sss

3. Проведено обновление  с p10-PVE до p11-PVE по  инструкции:
   https://www.altlinux.org/Update/p11#Обновление;
   https://www.altlinux.org/Update/p11-PVE

По окончании обновления:
Установка завершена. Ошибок нет.

Статус сервиса:
Job for sssd.service failed because the control process exited with
error code.
See "systemctl status sssd.service" and "journalctl -xeu sssd.service"
for details.
Job for user@16284.service failed because a fatal signal was delivered
to the control process.
See "systemctl status user@16284.service" and "journalctl -xeu
user@16284.service" for details
Comment 3 Pavel 2025-11-17 13:25:07 MSK
Конфигурацию LDAP-сервера выложить не предоставляется возможным, система настроена на ОС: Debian 8.
Comment 4 zvn 2025-11-18 12:36:37 MSK
для работы с локальным кэшем sssd , который в /var/lib/sssd находится в формате .ldb не хватает /usr/lib64/samba/ldb.mit/ldb.so

нужно установить samba-dc-libs, в котором он сидит.

почему-то (это главное во всей этой проблеме) этот пакет не вписали в зависимости для sssd-ldap
Comment 5 Evgeny Shesteperov 2025-11-26 19:27:01 MSK
Версия

- sssd-ldap-2.9.7-alt4

Дистрибутивы

- ALT Linux 11.0 (Sisyphus)

Шаги воспроизведения

Настроить сервер (от root):

    apt-get install -y openldap-common openldap-servers openldap-clients netcat

    hostnamectl set-hostname dc.alttest.org

    domainname dc.alttest.org

    reboot

    rm -rf /var/lib/ldap/bases/alttest.org

    mkdir -p /var/lib/ldap/bases/alttest.org

    chown ldap:ldap /var/lib/ldap/bases/alttest.org

    chmod 700 /var/lib/ldap/bases/alttest.org

    \cp /etc/openldap/slapd-mdb-db01.conf /etc/openldap/slapd-mdb-db01.conf.bak

    cat <<EOF > /etc/openldap/slapd-mdb-db01.conf
    database mdb
    suffix "dc=alttest,dc=org"
    rootdn "cn=admin,dc=alttest,dc=org"
    rootpw $(slappasswd -s 12345678)

    directory /var/lib/ldap/bases/alttest.org

    index objectClass eq
    index cn,uid eq
    index uidNumber,gidNumber eq
    index mail sub

    access to *
        by dn.base="cn=admin,dc=alttest,dc=org" write
        by * read
    EOF

    sed -i "s|#SLAPDURLLIST=\"'ldapi|SLAPDURLLIST=\"'ldapi|g" /etc/sysconfig/ldap

    systemctl enable --now slapd && sleep 5; systemctl status slapd --no-pager -l

    cat <<EOF > base.ldif
    dn: dc=alttest,dc=org
    objectClass: top
    objectClass: domain
    dc: alttest

    dn: cn=admin,dc=alttest,dc=org
    objectClass: top
    objectClass: organizationalRole
    cn: admin
    description: LDAP Administrator
    EOF

    ldapadd -x -D "cn=admin,dc=alttest,dc=org" -w "12345678" -f base.ldif -H ldap://localhost:389

    slapcat -n 1 2>/dev/null | grep "dn:.*alttest"

    nc -zv localhost 389

    ldapsearch -H ldap://localhost:389 -x -b "dc=alttest,dc=org" -D "cn=admin,dc=alttest,dc=org" -w "12345678"

    ldapwhoami -H ldap://localhost:389 -x -D "cn=admin,dc=alttest,dc=org" -w "12345678"

    cat > people_ou.ldif <<"EOF"
    dn: ou=People,dc=alttest,dc=org
    objectClass: top
    objectClass: organizationalUnit
    ou: People
    description: Container for user entries
    EOF

    cat <<EOF > ldapuser.ldif
    dn: uid=ldapuser,ou=People,dc=alttest,dc=org
    objectClass: top
    objectClass: person
    objectClass: organizationalPerson
    objectClass: inetOrgPerson
    objectClass: posixAccount
    uid: ldapuser
    cn: LDAP User
    sn: User
    givenName: LDAP
    displayName: LDAP User
    mail: ldapuser@alttest.org
    userPassword: $(slappasswd -s 12345678)
    uidNumber: 10001
    gidNumber: 10001
    homeDirectory: /home/ldapuser
    loginShell: /bin/bash
    EOF

    ldapadd -x -D "cn=admin,dc=alttest,dc=org" -w "12345678" -f people_ou.ldif -H ldap://localhost:389

    ldapadd -x -D "cn=admin,dc=alttest,dc=org" -w "12345678" -f ldapuser.ldif -H ldap://localhost:389

Настроить клиент (от root):

    apt-get install -y sssd sssd-ldap openldap-clients
    hostnamectl set-hostname cli.alttest.org
    echo "<IP сервера> dc.alttest.org" >> /etc/hosts # server
    echo -e "name_servers=<IP сервера>\nsearch_domains=alttest.org" >> /etc/resolvconf.conf # server
    reboot

    nc -zv dc.alttest.org 389

    ldapsearch -H ldap://dc.alttest.org:389 -x -b "dc=alttest,dc=org" -D "cn=admin,dc=alttest,dc=org" -w "12345678" "(uid=ldapuser)" cn mail

    cat <<EOF > /etc/sssd/sssd.conf
    [sssd]
    config_file_version = 2
    services = nss, pam
    domains = alttest
    debug_level = 7

    [nss]
    filter_users = root,ldap,named,avahi,haldaemon,dbus,nscd

    [pam]
    pam_pwd_expiration_warning = 3

    [domain/alttest]
    id_provider = ldap
    auth_provider = ldap
    ldap_search_base = dc=alttest,dc=org
    ldap_tls_reqcert = never
    cache_credentials = true
    lookup_family_order = ipv4_only
    ignore_group_members = True
    ldap_uri = ldap://dc.alttest.org
    EOF

    control system-auth sss

    sed -i '/^passwd:/s/$/ sss/' /etc/nsswitch.conf
    sed -i '/^shadow:/s/$/ sss/' /etc/nsswitch.conf
    sed -i '/^gshadow:/s/$/ sss/' /etc/nsswitch.conf
    sed -i '/^group:/s/role$/sss role/' /etc/nsswitch.conf

    systemctl enable --now sssd && sleep 5; systemctl status sssd --no-pager -l

    getent passwd ldapuser

Ожидаемый результат: успешно запущенный сервис, вывод в конце:
ldapuser:*:10001:10001:LDAP User:/home/ldapuser:/bin/bash

Фактический результат: ошибка
SSSD couldn't load the configuration database [5]: Input/output error.

Воспроизводится в P11.

После установки пакета task-auth-freeipa (просто установка samba-dc-libs не помогла) и перезапуска SSSD работа восстанавливается (сервис работает, пользователи резолвятся).
Comment 6 zvn 2025-11-27 07:47:27 MSK
(Ответ для Evgeny Shesteperov на комментарий #5)

> После установки пакета task-auth-freeipa (просто установка samba-dc-libs не
> помогла) и перезапуска SSSD работа восстанавливается (сервис работает,
> пользователи резолвятся).

Евгений, спасибо большое за такой подробный тестовый пример, но здесь одно только непонятно, для чего нужно устанавливать для работы с ldap task-auth-freeipa, если должен работать task-auth-ldap-sssd
?
Comment 7 Evgeny Shesteperov 2025-11-27 09:34:11 MSK
(Ответ для zvn на комментарий #6)
> task-auth-freeipa, если должен работать task-auth-ldap-sssd
> ?

Я просто пытался восстановить работоспособность сервиса, task-auth-freeipa приведён здесь в качестве примера.