我最近从 20.04LTS 升级到了 22.04LTS。在我的设置中,当用户登录时,我使用 pam_mount 在 NAS 上安装各种外部驱动器。这在 20.04 中运行良好,在从 20.04 升级到 22.04 的两台计算机上仍然可以正常工作。但是,我还有一台从头开始设置的笔记本电脑。我将 pam_mount.conf.xml 文件移到了 /etc/security/pam_mount.conf.xml。在该文件中,我有 lsuserconf 的路径,就像另一个工作设备一样。
我查看了 pam_mount 手册页并确认我已按照说明执行了所有操作。但是 pam_mount 似乎根本没有在那台新笔记本电脑上执行。检查 dmesg 和 journalctl 时,pam_mount 根本没有任何踪迹。此外,/etc/pam.d/service 中似乎完全没有服务描述。
我读到 22.04 使用新的“ADsys”客户端。我猜想这与我在新笔记本电脑上以不同的方式加入家庭网络设置中的域有关。我在初始设置期间使用了 UI 对话框。我知道获取 Adsys 许可证和设置登录脚本的选项。但是我更愿意坚持使用 pam_mount,因为这是它在另外两台运行良好的升级计算机上的工作方式。
我怎样才能使 pam_mount 在该笔记本电脑上工作?
答案1
我今天找到了问题的答案。在比较工作设备和不工作设备上安装的软件包时,我发现从 22.04LTS 全新安装没有“libpam 安装“ 和 ”libpam-安装-bin“。所以我安装了它们,现在一切都运行正常!
您可以使用以下方法轻松检查包是否丢失
dpkg -l | grep libpam
这将列出所有 libpam 包。libpam 安装和libpam-安装-bin如果您希望 pam 模块在登录时挂载您的用户特定共享,则应该在那里。
答案2
请确保您的/etc/pam.d/common-auth文件底部有以下行:
auth optional pam_mount.so
并且/etc/pam.d/common-session文件底部应该有这一行:
session optional pam_mount.so
如果不存在这些行,pam_mount 模块可能不会在您登录时加载。当您运行以下命令时,应该会自动添加这些行:
sudo apt install -y libpam-mount cifs-utils
[编辑] 我知道 OP 自己解决了,但我发帖是为了让解决方案更清晰一些。