Есть ли простой способ изменить настройку Samba "template shell = / bin / bash" для каждого пользователя?
Это для систем Linux, подключенных к домену Active Directory. Некоторым пользователям нужен / bin / bash. Другие, включая меня, хотят / bin / zsh. Могу ли я установить какой-нибудь атрибут AD?
Все, что я нашел с помощью поиска в Google, в лучшем случае кажется хакерским (написание сценария для замены / bin / sh - хлопоты с обслуживанием).
Аналогичный вопрос о сбое сервера Заменить оболочку LDAP кажется, ориентированным на OpenLDAP (но если кто-то знает, как заставить его работать с AD, скажите об этом).
Если у вас есть большое количество систем Linux, использующих AD, это может быть неэффективно, но для небольшого количества систем самый простой способ сделать это - запустить на машине Linux следующее:
getent passwd ADUSER >> /etc/passwd
Затем отредактируйте соответствующую строку в / etc / passwd, чтобы отразить предпочтительную оболочку (или еще лучше, используйте sed, чтобы изменить запись оболочки на лету перед добавлением в / etc / passwd). IDMU, как предлагали другие, вероятно, является наиболее элегантным решением для нескольких хостов, но приведенный выше пример выполняет свою работу, если вы просто хотите сделать это в нескольких системах.
Если вы используете winbind, вы можете сделать следующее:
Установите IDMU, как предложил Кристоф. Если у вас 2003 R2 или новее, необходимая схема RFC 2307 уже установлена, так что вы можете пропустить этот шаг.
Добавьте следующее в smb.conf в соответствии с Самба вики:
winbind nss info = rfc2307
Опять же, это сработает, только если вы используете winbind. После внесения изменений перезапустите его.
Установить пользователей loginShell
атрибут в Active Directory. winbind учтет этот параметр при следующем обновлении.
Если вы установите Управление идентификацией для Unix (IDMU) на вашем сервере AD, схема LDAP расширена для хранения атрибутов Unix, и вы можете установить оболочку входа в систему на вкладке «Атрибуты Unix» свойств объекта (пользователя).