Назад | Перейти на главную страницу

Как перечислить активные группы каталогов в linux для данного пользователя, по одной в строке, зная, что какое-то имя группы содержит пробел

При использовании "групп" или "id -Gn" я получаю типичный список всех групп, разделенных пробелами, для текущего пользователя. Эти команды выполняются в предположении, что имена групп не могут содержать пробел, и действительно, пока мы остаемся в Unix, это будет так.

Однако моя компания теперь является частью более крупной компании, у которой есть настройки доменов Microsoft, и, к сожалению, их имена доменных групп Active Directory содержат пробел, например «FOOBAR \ Domain Users».

Один из наших сценариев обычно использует вывод "групп" и составляет из него список на основе этого разделителя пробелов, что означает, что теперь он терпит неудачу:

$ groups
FOOBAR\Domain Users FOOBAR\Other Domain everyone admin 

... что, очевидно, приводит к созданию такого списка:

FOOBAR\Domain
Users
FOOBAR\Other
Domain
everyone
admin

Как вы понимаете, первых 4 групп не существует, а остальная часть скрипта не может достичь ничего ценного.

Кто-нибудь знает, где лучше получить такие названия групп?

PS: Я знаю / etc / group, но такие группы AD там не упоминаются. Был бы другой такой файл, но для групп AD, который я мог бы проанализировать?

старый пост, на который я случайно наткнулся, но мой текущий метод

id | egrep -o 'groups=.*' | sed 's/,/\n/g' | cut -d'(' -f2 | sed 's/)//'