登录时在 Linux 服务器上自动安装 Active Directory 主驱动器

登录时在 Linux 服务器上自动安装 Active Directory 主驱动器

我有一个 Centos 5.7 盒子,通过 PBIS Open(新的 LikeWise Open)对 Active Directory 进行身份验证,效果很好。现在,我试图让服务器自动挂载用户的 AD 主目录,位于//ad.server.dom/shares/home directories(是的,路径中有一个空格。我没有设置它)。每个用户都有一个与用户同名的目录。

我尝试过让 pam_mount 工作,但它在 RedHat 和同类产品上存在一系列问题,我似乎无法让它工作。目录确实需要自动挂载,服务器才能执行其角色。我对自动挂载的阅读似乎表明没有办法让它进行身份验证,尽管我很高兴被证明是错的。我看过此资源,但它需要 RedHat (因此是 CentOS) 6 或更高版本,以及比我拥有的更新的软件包。

我可以使用命令手动(以 root 身份)挂载 AD 目录

mount.cifs "//ad.server.dom/Shares/home directories/testuser" /home/local/AD/testuser/nfs_mount/ -o username=testuser

当我以 身份登录时testuser,我可以看到目录中的所有示例文件nfs_share

任何有关正确方向的提示都将不胜感激。这将在大学的服务器上运行,因此需要相当稳定,并会促使那里更多地采用 Linux。

答案1

如果 pam_mount 和 autofs 对您不起作用,您可以尝试使用 bash 脚本的 pam_exec。这很不方便,但对您有用,看看下面的内容是否适合您的需求:

添加到 pam.d/system-config-auth:

auth   sufficient   pam_exec.so expose_authtok /usr/local/bin/mount_home

session optional    pam_exec.so /usr/local/bin/mount_home

创建文件 /usr/local/bin/mount_home:

#!/bin/bash

case "$PAM_TYPE" in
      auth )
         head -c -1 | mount.cifs "//ad.server.dom/Shares/home directories/$PAM_USER" /home/local/AD/$PAM_USER/nfs_mount/ -o username=$PAM_USER
      ;;
      close_session )
         umount /home/local/AD/$PAM_USER/nfs_mount
      ;;
esac
exit 0

我还没有测试过,但也许你可以让它为你工作。祝你好运!

相关内容