У меня домен на базе samba4. Как мне вывести список всех групп, к которым принадлежит данный пользователь?
Я знаю, что могу пойти обратным путем — перебрать все группы [список групп samba-tool] и посмотреть их членство [список групп samba-toolmembers $groupName], но, может быть, есть более простой способ?
решение1
Я не думаю, samba-tool
что есть что-то для этого, но LDAP более мощный для такого рода запросов, например
ldapsearch -LLL -b "dc=example,dc=com" "(&(cn=*)(memberUid=user))" dn
решение2
Вы можете использовать ''id'':
$ id eduardomozart
uid=3000011(NETHOUSE\eduardomozart) gid=100(users) grupos=100(users),3000011(NETHOUSE\eduardomozart),3000005(NETHOUSE\domain admins),3000002(NETHOUSE\denied rodc password replication group),3000002(NETHOUSE\denied rodc password replication group),3000009(NETHOUSE\dimension-e521$),3000000(BUILTIN\administrators)
Обратите внимание, что для бэкэнда idmap_ad пользователю необходимо задать атрибуты uidNumber и gidNumber в LDAP (вкладка «Атрибуты Unix» в оснастке «Пользователи и компьютеры Active Directory») в соответствии с RFC2307, иначе команда вернет «id: eduardomozart: такого пользователя нет».
Ссылка: Джеральд Картер, Джей Т., Роберт Экштейн, 2007. Использование Samba: файловый и принт-сервер для Linux, Unix и Mac OS X. (3-е издание). O'Reilly, ISBN 0-596-00769-8.