Автоматическое подключение домашних дисков Active Directory на сервере Linux при входе в систему

У меня есть коробка Centos 5.7, аутентифицирующаяся по Active Directory через PBIS Open (новый LikeWise Open), который работает хорошо. Теперь я пытаюсь заставить сервер автоматически смонтировать домашний каталог 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 не работают для вас, вы можете попробовать pam_exec с помощью bash-скрипта. Это неприлично, но это может сработать для вас, посмотрите, сможете ли вы приспособить приведенное ниже под свои нужды:

Добавьте в 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

Я не проверял это, но, возможно, вы можете сделать эту работу для вас. Удачи!

Другие вопросы по тегам