Я настроил клиент Ubuntu Bionic Beaver для аутентификации в Samba ADS (Zentyal), используя sssd. Это руководство был более или менее все, что нужно, чтобы добраться туда. РЕДАКТИРОВАТЬ: см. Мой ответ, чтобы узнать, что это означает "более или менее".
Затем я настроил pam_mount так что домашние каталоги хранятся на сервере, и мой клиент монтирует их для входа пользователей. Кажется, это работает, с некоторыми проблемами, которые проявляются только при входе в систему с учетной записью AD. При входе в систему с локальной учетной записью все работает должным образом (но в этом случае pam_mount не используется).
Проблемы следующие:
Вот мой /etc/security/pam_mount.conf.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
<debug enable="0" />
<volume user="*" fstype="cifs" server="zentyal" path="%(DOMAIN_USER)" mountpoint="/home/%(DOMAIN_USER)" options="sec=ntlmssp,nodev,nosuid,mfsymlinks,nobrl" />
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<mntoptions require="nosuid,nodev" />
<logout wait="0" hup="no" term="no" kill="no" />
<mkmountpoint enable="1" remove="true" />
</pam_mount>
Какие-нибудь подсказки?
Я не совсем понял почему, но кажется, что gnome-control-center
не работает с новыми версиями cifs
протокол, поэтому вам нужно принудительно установить старую версию 1.0 в pam_mount.conf.xml
:
options="sec=ntlmssp,nodev,nosuid,mfsymlinks,nobrl,vers=1.0"
Протокол cifs по умолчанию был изменен с ядра 4.13 (до этого он был vers=1.0
по умолчанию), поэтому у вас может не быть таких проблем в версиях Ubuntu старше 17.10.
Кроме того, на всякий случай, если кто-то придет к выводу, что этот ответ решает все проблемы в новых выпусках Ubuntu, имейте в виду, что Ubuntu 18.04 поставляется с Samba 4.7.x, но Cosmic поставляется с Samba 4.8, что нарушает вышеупомянутые конфигурация sssd руководство, которое в его нынешнем виде заставляет вас добавлять
security = ads
вашему клиенту /etc/samba/smb.conf
, но это не будет работать с Samba 4.8+, потому что теперь нужен winbindd. Просто имейте это в виду, если вы будете следовать этому руководству, а они не обновляют его для текущих выпусков Ubuntu для разработки. К сожалению, я не знаю, как настроить Samba 4.8+ с winbindd
и sssd
, но держу пари, что это где-то задокументировано.
Кроме того, говоря об этом "более или менее"в моем вопросе обратите внимание, что в руководстве ничего не говорится о сопоставлении идентификаторов в вашем клиенте /etc/samba/smb.conf
, но для того, чтобы присоска работала даже в Ubuntu 18.04, мне пришлось добавить к ней следующее:
idmap config * : backend = tdb
idmap config * : range = 1000000-1999999
idmap config ISONZO5 : backend = rid
idmap config ISONZO5 : range = 5000000-5999999
где ISONZO5
это то же значение, которое я установил в
workgroup = ISONZO5
Это задокументировано на странице руководства smb.conf.
Другие приятные вещи, о которых другие гиды забывают упомянуть и которые я должен был выяснить сам, - это mfsymlinks
вариант (без этого символические ссылки не работают) и nobrl
вариант (без этого базы данных SQLite не работают и приносят с собой хорошую долю настольного программного обеспечения, такого как Chromium Browser и Firefox).
Надеюсь, это поможет другим.
еще одно замечание, мне пришлось придерживаться smb v2.0 из-за внешних ограничений.
В моей настройке у Gnome было много проблем из-за сбоя в dconf. Это было основано на файле базы данных с отображением памяти, который вызвал проблемы из-за хранения в общем ресурсе SMB. Существует простое решение этой проблемы в бэкэнд ключевого файла dconf, добавив строку «service-db: keyfile / user» в / etc / dconf / profile / user, как описано здесь: https://people.gnome.org/~pmkovar/system-admin-guide/dconf-nfs-home.html