![通过 cifs、sssd 和 Bionic Beaver 的 pam_mount 主目录](https://linux22.com/image/724855/%E9%80%9A%E8%BF%87%20cifs%E3%80%81sssd%20%E5%92%8C%20Bionic%20Beaver%20%E7%9A%84%20pam_mount%20%E4%B8%BB%E7%9B%AE%E5%BD%95.png)
我已经配置了一个 Ubuntu Bionic Beaver 客户端来针对 Samba ADS (Zentyal) 进行身份验证,使用ssd 的。本指南曾是或多或少到达那里需要做的一切。编辑:请参阅我的回答以了解该内容的含义“或多或少“。EDIT2:提到的指南已被(重新?)删除,但它无法在 Ubuntu 20.04 及更新版本上运行。
然后我配置pam_mount这样主目录就保留在服务器上,我的客户端会为登录用户安装这些目录。它似乎可以工作,但只有使用 AD 帐户登录时才会出现一些问题。使用本地帐户登录时,一切都按预期工作(但在这种情况下不涉及 pam_mount)。
问题如下:
- 即使系统全是意大利语,并且输入法配置为意大利语,键盘布局也是英文。
- 我无法将启动器添加到 Ubuntu Dock(它说已添加,但没有显示)
- (似乎是 1+2)我无法添加任何新语言,就像我无法将启动器添加到 Dock 一样
这是我的/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>
有什么线索吗?
答案1
对于任何拥有较新版本的人来说,您必须执行三件事才能使用 SMB v3.0 以有效方式挂载主目录。
- 使用 nobrl 选项
- 使用 mfsymlinks 选项
有了这两个选项,Chrome 等软件就可以正常工作。但是,gnome-settings 不起作用,这意味着例如无法更改侧边栏中的项目。为此,您还必须添加
- “service-db:keyfile/user” 到 /etc/dconf/profile/user
(看https://help.gnome.org/admin/system-admin-guide/stable/dconf-nfs-home.html.en,完全直观)
希望有帮助!
答案2
我还不明白具体原因,但似乎它gnome-control-center
不能很好地与新版本的协议兼容cifs
,因此您需要强制使用旧的 1.0 版本pam_mount.conf.xml
:
options="sec=ntlmssp,nodev,nosuid,mfsymlinks,nobrl,vers=1.0"
自内核 4.13 以来,默认的 cifs 协议已经发生了变化(在此之前是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
但我敢打赌它以某种方式记录在某处。
此外,谈到“或多或少“在我的问题中,请注意该指南没有提到有关客户端中的 id 映射的任何信息/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 浏览器和 Firefox)。
希望这对其他人有帮助。
答案3
另一个需要注意的是,由于外部限制,我不得不坚持使用 smb v2.0。
在我的设置中,由于 dconf 出现故障,Gnome 出现了很多问题。这是基于内存映射数据库文件,由于存储在 SMB 共享上而导致问题。有一个简单的解决方案,即在 dconf 密钥文件后端将行“service-db:keyfile/user”添加到 /etc/dconf/profile/user,如下所述:https://people.gnome.org/~pmkovar/system-admin-guide/dconf-nfs-home.html