Я настроил клиент 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
, что задокументировано в man-странице smb.conf.
Другие приятные вещи, о которых другие руководства забывают упомянуть и которые мне пришлось выяснить самостоятельно, - это параметр mfsymlinks
(без этого символические ссылки не работают) и параметр nobrl
(без этих баз данных SQLite) не работают и принесите с собой хорошую долю программного обеспечения для настольных компьютеров, такого как Chromium Browser и Firefox).
Надеюсь, это поможет другим.
еще одна заметка здесь, мне пришлось придерживаться smb v2.0 из-за внешних ограничений.
В моей установке у Gnome было много проблем из-за сбоя в dconf. Это было основано на файле отображенной в памяти базы данных, который вызывал проблемы из-за того, что хранился на разделяемом ресурсе SMB. Есть простое решение для бэкэнда dconf keyfile backend, добавив строку "service-db:keyfile/user" в /etc/dconf/profile/user, как описано здесь: https://people.gnome.org/~pmkovar/system-admin-guide/dconf-nfs-home.html