Як перерахувати групи, членами яких є UNIX?


79

За допомогою pts m groupnameя можу перелічити користувачів у групі. Як я можу зробити протилежне - тобто перерахувати всі групи, учасником яких є користувач?

(Мені потрібно це, щоб знайти ім’я групи, яку я знаю користувача, який є членом, але я не знаю назви групи ...)

Уточнення:
Це питання ускладнюється тим, що я не системний адміністратор і що у мене немає кореневих дозволів (далеко від цього). Натомість я є частиною групи "модераторів", які адмініструють невелику частину системи - якщо конкретно, то фізичну галузь студентського союзу в центральній ІТ-системі мого університету.

У нашому відділенні ми маємо купу різних груп доступу для людей, які відповідають за справи. У цьому випадку один із двох осіб, відповідальних за щось (неважливо, що), був замінений, і я хотів розглянути іншого користувача, щоб дізнатися, які права доступу я повинен дати заміні.

Зараз мені вдалося вирішити негайну проблему (новий хлопець не має можливості отримати доступ до папки), вивчивши папку, щоб побачити, хто має доступ, і там забрав групу зі списку. Однак може бути більше привілеїв, які повинен мати цей користувач, про які я не знаю, тому питання для мене все ще актуальне, хоч і не таке гостре.

Відповіді:


105

Ви також можете скористатися groupsкомандою:

[root @ ftp ~] # групи кореня
root: root bin daemon sys adm disk wheel

якщо все інше не вдається, є і хороший старий grep:

[root @ ftp ~] # grep root / тощо / група
корінь: x: 0: корінь
бін: х: 1: корінь, бін, демон
демон: x: 2: корінь, бін, демон
sys: x: 3: корінь, бін, адм
adm: x: 4: корінь, adm, демон
диск: x: 6: root
колесо: x: 10: корінь, адмін

1
grep ^root: /etc/groupможе бути і краще.
Денніс Вільямсон

ні, це не так, як він перераховує лише одну з кореневих груп, що є членом, можливо, з трохи awk його більш зрозумілим :) grep root / etc / group | awk -F: '{print $ 1}'
matthias krull

3
Огляд / etc / group звучить приємно, але якщо ваша система використовує централізований каталог (NIS, LDAP, ActiveDirectory,?), Ви не знайдете там повного списку груп. У цьому файлі будуть лише визначення місцевих груп.
Slartibartfast

Команда groups kczдає лише мені usr, хоча я знаю, що цей користувач є членом групи, яку називають fkm. Чого не вистачає?
Томаш Ашан

Не впевнені, /etc/groupвставте @Tomas.
Джон Т

28
$ id [username]

" $: Command not found".
Томаш Ашан

8
$Являє собою командний рядок. Почніть вводити текст id.
конусний шар

Все ще не дає мені багато:uid=[five digits](kcz) gid=30(usr)
Томаш Ашан

він показує uid = gid = groups = тому третє, що я отримую - це список груп, до яких належить користувач.
MKJ

6

Знайшов - шлях пізніше, але я це зробив! =)

Так як

$>pts m [group name]

перелічує всіх членів групи,

$>pts m [user name]

перераховує всі групи, учасником яких є користувач. Це було занадто просто: P


3
pts - це не стандартна команда.
користувач2284570

1
@ user2284570: Можливо, ні. Але в питанні було чітко сказано (найперше, насправді, і з підкресленням синтаксису), що саме ptsце питання стосується.
Томаш Ашан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.