Bug 51870

Summary: autofs берет только первое значение из секции automount в /etc/nsswitch.conf
Product: Sisyphus Reporter: Anton Shevtsov <shevtsov.anton>
Component: autofsAssignee: Sergey Bolshakov <sbolshakov>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alimektor, sbolshakov, shevtsov.anton, snowmix
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Anton Shevtsov 2024-10-29 11:16:23 MSK
Суть проблемы: 
autofs берет только первое значение из секции automount в /etc/nsswitch.conf

Исходная задача:
Хранить карты монтирования для autofs в ad/samba (ldap).
Передавать в autofs используя sssd (autofs-sss)

Настройка на стороне КД:
Карты монтирования могут встречаются в трех разных схемах
- RFC2307bis
- NIS
- RFC2307 ext

Исходя из того, что NIS есть в дефолтной схеме 2008R2 выбран этот набор аттрибутов и не требует дополнительного расширения схемы.

Создадим карты в OU=automount с монтированием по nfs4 с испоользованием krb5 шары ALTSRV10-2.test.alt:/srv/public

Для этого создадим файл autofs.ldif с содержимым

# automount, test.alt
dn: OU=automount,DC=test,DC=alt
objectClass: top
objectClass: organizationalUnit
ou: automount
name: automount

# auto.master, automount, test.alt
dn: CN=auto.master,OU=automount,DC=test,DC=alt
objectClass: top
objectClass: nisMap
cn: auto.master
name: auto.master
nisMapName: auto.master

# auto.nfs4, automount, test.alt
dn: CN=auto.nfs4,OU=automount,DC=test,DC=alt
objectClass: top
objectClass: nisMap
cn: auto.nfs4
name: auto.nfs4
nisMapName: auto.nfs4

# /mnt/nfs4, auto.nfs4, automount, test.alt
dn: CN=/mnt/nfs4,CN=auto.nfs4,OU=automount,DC=test,DC=alt
objectClass: top
objectClass: nisObject
nisMapName: auto.nfs
nisMapEntry: -fstype=nfs4,rw,sync,no_subtree_check,sec=krb5:krb5i:krb5p ALTSRV10-2.test.alt:/srv/public
cn: /mnt/nfs4
name: /mnt/nfs4

# /-, auto.master, automount, test.alt
dn: CN=/-,CN=auto.master,OU=automount,DC=test,DC=alt
objectClass: top
objectClass: nisObject
cn: /-
name: /-
nisMapName: auto.master
nisMapEntry: auto.nfs4

Импортируем его в самбу
ldbmodify -H /var/lib/samba/private/sam.ldb autofs.ldif

На стороне клиента:
Установить пакеты libsss_autofs, autofs_sss

в /etc/sssd/sssd.conf

Добавить autofs в sssd/services

[sssd]
services = nss,pam,ssh,sudo,autofs

в секции описания домена добавить где искать карты

[domain/TEST.ALT]
ldap_search_base= DC=test,DC=alt
#nis
ldap_autofs_search_base = OU=automount,DC=test,DC=alt
ldap_autofs_map_object_class = nisMap
ldap_autofs_map_name = nisMapName
ldap_autofs_entry_object_class = nisObject
ldap_autofs_entry_key = cn
ldap_autofs_entry_value = nisMapEntry
autofs_provider = ad

в /etc/nsswitch.conf в секции automount добавить sss
automount:  files sss

Включить nfs клиента (настройки nfs.conf, idmap.conf в https://www.altlinux.org/NFS_сервер_с_Kerberos_авторизацией )
systemctl enable --now nfs-client.target

Проверка:
карты из файлов (к примеру от gpupdate) - работают удачно
из sss - тишина

automount -m - покажет карты из files, но не покажет из sss

если поменять местами 
automount:  sss files

все наоборот - sss работает, files - нет

Резюме:
нашел подобный баг у редхата - https://bugzilla.redhat.com/show_bug.cgi?id=1802251
Сначала склонялся к проблеме у sssd, создал в апстриме тикет с дебагами - https://github.com/SSSD/sssd/issues/7644
был послан в сторону autofs.

В их багзиле https://bugzilla.kernel.org/show_bug.cgi?id=219425 пока тишина

Пробовал пересобранный из p11 autofs (там есть некоторые sss bug fix), но результат тот же.
Comment 1 Mikhail Chernonog 2024-11-01 16:08:59 MSK
Воспроизводится на p10.
Comment 2 Evgeny Shesteperov 2024-11-03 18:34:10 MSK
Воспроизводится в Sisyphus.
Comment 3 Anton Shevtsov 2024-12-16 16:00:44 MSK
Какие-то подвижки есть?
Comment 4 Олег Соловьев 2024-12-16 16:28:20 MSK
(In reply to Anton Shevtsov from comment #3)
> Какие-то подвижки есть?

$ ssh gyle.alt acl sisyphus autofs show
autofs  sbolshakov @everybody