У меня есть модуль Centos 5.7, который аутентифицируется в Active Directory через PBIS Open (новый LikeWise Open), который работает хорошо. Теперь я пытаюсь заставить сервер автоматически монтировать домашний каталог AD пользователя, расположенный по адресу //ad.server.dom/shares/home directories
(Да, это место на пути. Я не настраивал это). У каждого пользователя есть каталог с тем же именем, что и у пользователя.
Я пытался заставить pam_mount работать, но у него есть ряд проблем с RedHat и друзьями, и я не могу заставить это работать. Каталог действительно должен быть автоматически смонтирован, чтобы сервер выполнял свою роль. Мое чтение на automount, кажется, предполагает, что нет никакого способа заставить его сделать это с аутентификацией, хотя я счастлив, что ошибаюсь. Я смотрел на этот ресурс, но для этого требуется версия 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 там.
Если 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
Я не тестировал это, но, возможно, вы сможете заставить это работать за вас. Удачи!