У меня есть несколько серверов Linux, использующих SSSD, интегрированный с Microsoft AD для аутентификации пользователей AD, и я пытаюсь переопределить основную группу пользователей на этих серверах.

Согласно AD, основной группой по умолчанию для всех пользователей является gid = 100001(posixusers), и я бы хотел, чтобы пользователи были назначены на другой gid. У каждого пользователя будет своя первичная группа, и это будет его UID.

Итак, если UID пользователя Джона равен 1028, и согласно AD его GID равен 100001, я хочу переопределить GID, поэтому он будет равен gid = 1028.

Я считаю, что это можно сделать с помощью sss_override, но есть некоторые недостатки, поскольку мне придется повторять одну и ту же команду на каждом сервере Linux или экспортировать / импортировать списки переопределения и перезапускать sssd.

Кроме того, я не знаю, как я могу автоматизировать это при первом входе пользователя в систему.

Как бы Вы это сделали? Есть ли другой способ, кроме sss_override? Если нет, что бы вы сделали, чтобы автоматизировать это?

ПРИМЕЧАНИЕ. Я ничего не могу коснуться в AD, поскольку он управляется другим отделом, поэтому единственное, что я могу сделать, - это запросить службу AD/LDAP.

Заранее спасибо.

2 ответа2

1

Если вы предоставляете доступ на основе групп AD, можно быстро изменить основной GID всех пользователей в группе следующим образом:

getent group AD-group-name | awk -F':' '{print $4}' | sed 's/\,/\n/g' \
| xargs -i sss_override user-add {} -g $(getent group AD-group-name) \
| awk -F':' '{print $3}')

где AD-group-name - это имя группы AD/LDAP. Это должно работать, прежде чем пользователь вошел в систему, если вы используете SSSD с AD. Как вы сказали, есть некоторые предостережения с sss_override, и это нужно будет выполнить снова, если вы настраиваете больше пользователей. Это немного хакерски, но вы могли бы запускать это каждую ночь, как работу cron или что-то подобное.

Вы также можете запустить это на нескольких системах, используя что-то вроде ansible. В моем списке есть создание сборника игр, который делает что-то подобное, когда мы предоставляем нового пользователя.

1

У меня недостаточно репутации, чтобы отвечать прямо на ответ Гейба, он отлично работает, за исключением того, что должен читать:

getent group AD-group-name | awk -F':' '{print $4}' | sed 's/\,/\n/g' \  
| xargs -i sss_override user-add {} -g $(getent group AD-group-name \  
| awk -F':' '{print $3}')

Отлично сработало для нас в качестве обходного пути для ограничения группы NFS 16.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .