Предупреждение: Ужасный взлом вперед! Лучшая вещь будет состоять в том, чтобы, конечно, изменить данные в сервере LDAP и сохранить Ваш сам проблема, но здесь это идет:
Добавьте следующую строку в конце/etc/security/pam_env.conf:
HOME DEFAULT="/home/@{PAM_USER}"
Это переопределит пользовательскую переменную $HOME для указания на правильный каталог. Однако это только установлено после входа в систему, таким образом, Вы все еще получите ошибку, что вход в систему не может найти пользовательский корневой каталог. 2-я фаза ужасного взлома должна добавить "CD ~" в конце/etc/profile, который принесет Вашему пользователю к правильному корневому каталогу. Надо надеяться, на данном этапе Вы сможете использовать, автомонтируются для отображения корневого каталога на корректный сервер NFS
Я соглашаюсь с Mark, Ваш лучший выбор состоял бы в том, чтобы изменить запись в LDAP.
Если Вы не можете сделать этого, я могу предложить что-то, что является основным взломом, но сделало бы задание:
Вместо того, чтобы делать поиски непосредственно к LDAP, используйте nsscache для получения по запросу пользовательских данных из LDAP. Затем в том же задании крона, которое будет периодически обновлять кэш, добавьте сценарий, который перепишет атрибут корневого каталога для пользователей к тому, который Вы хотите. Вы могли также сделать это путем изменения nsscache источника непосредственно.
Можно использовать похожий метод изменить оболочку по умолчанию.
Это будет также иметь хороший побочный эффект сокращения/главным образом запросов устранения к Вашему серверу LDAP :)
Настроили ли вы NSS для прямой связи с сервером LDAP, или вы используете прокси, например nslcd
? Если это так, изучите настройку прокси-сервера для перезаписи атрибута домашнего каталога пользователя. Например, в nslcd.conf
вы можете указать:
map passwd homeDirectory "/home/$uid"
Что делает очевидную вещь.