如何 pam_mount 服务器共享?

如何 pam_mount 服务器共享?

我有一个 Ubuntu Studio 22.04.1 桌面客户端,已加入 AD 域控制器,该域控制器还用作文件服务器。我想在任何域用户登录时自动挂载服务器共享。

  1. pam_mount.conf 的手册页提到了每个用户配置文件的可能性,但我需要的是每个组的配置。如果我在 /etc/security/pam_mount.conf.xml 中添加一条指定“sgrp”的记录,那么对于不属于“sgrp”的登录,它会被忽略吗?如果不是,我该如何限制对域用户的映射?

  2. pam_mount 的手册页说“您必须在系统的适用 /etc/pam.d/service 配置文件中包含两个条目”。这些文件是哪些?我在 /etc/pam.d 中有 31 个服务配置文件。各种帖子建议在“gdm”、“system-auth”、“system-auth-ac”或“system-login”中添加此类行,但我没有这些。这是我有的:

    chfn common-auth cron 其他 runuser sddm-autologin sudo chpasswd common-password cups passwd runuser-l sddm-greeter sudo-i chsh common-session login polkit-1 samba sssd-shadowutils su-l common-account common-session-noninteractive newusers ppp sddm su

  3. 我如何调试 pam 在登录时执行的操作?我已在 /etc/security/pam-mount.conf.xml 中启用了调试,但如果由于无法将其添加到正确的服务而无法执行,这将对我没有任何帮助,也不会帮助我排除 GUI 登录故障。是否有 pam 日志?如果有,我该如何查看?

PS AskUbuntu 建议这可能会重复我之前的问题。但是,我还没有收到任何有用的答复,我在这里尝试更具体地说明。

PPS 我的主要怀疑,common-auth 和 common-session,已经包含对 pam-mount 的引用,但所需的共享尚未被安装。

答案1

回答我自己的问题:

  1. 事实上,如果由不属于“sgrp”的用户调用 /etc/security/pam_mount.conf.xml 中指定了“sgrp”的挂载命令,则会被忽略。
  2. 我不需要添加 pam_mount.so 行任何/etc/pam.d 中的服务配置文件。它们已经存在于 common-auth、common-password 和 common-session 中,并且这些文件包含在许多其他服务文件中,这似乎已经足够了。
  3. 在 /etc/security/pam_mount.conf.xml 中启用调试会导致 /var/log 中的相关日志中出现 pam-mount 输出,在我的情况下是 auth.log 和 syslog

pam-mount 一开始对我不起作用的原因是参数 sgrp="MYDOMAIN\domain users" 的格式。使用“groups”命令检查组成员身份后,我意识到它应该是 sgrp="domain users@mydomain"。

相关内容