Як перелічити групи з gid в redhat?


42

Я вперше перерахував групи, використовуючи:

groups 

Я додав групу за допомогою

groupadd -g 300 oinstall
groupadd –g 500 dba

і тоді, коли я це роблю

groups 
root bin daemon sys adm disk wheel sfcb

Я не можу знайти групи, яких я додав. Як перелічити групи з ідентифікатором групи? Крім того, якщо я спробую додати його ще раз, він говорить, що групи вже є.

Відповіді:


67

У groupsсписках групи команд , які користувач в даний час є член, не всі групи , доступною в системі. Ви можете шукати групу за назвою або gid за допомогою getentкоманди.

getent group oinstall
getent group 500

Щоб показати всі групи, просто залиште пошуковий запит від команди:

getent group

2
@Kitex, тому що ви створили групу, але ви не є її членом. Вам потрібно додати свого користувача до групи, а потім вийти з системи та увійти в систему, щоб він відображався groupsкомандою.
jordanm

1
@kitex Я трохи оновив формулювання, сподіваюся, що допоможе вам зрозуміти.
jordanm

2
@Kitex оновив відповідь
jordanm

3
@kinkajou багато професійного досвіду, а також багато часу, проведеного на таких сайтах, як цей та підтримка IRC Linux. Я професіонал і ентузіаст близько 8 років. Я вважаю, що бути ентузіастом - це важлива частина, тому що ви швидше пам’ятаєте речі, які вас цікавлять.
Йорданм

1
@kinkajou Я використовував Gnu / Linux для всіх своїх домашніх обчислень. Настільні ПК, ноутбуки, малинові пі. Я використовую його з 1991 року (спочатку Gnu на Solaris, Dec, HP). Я продовжую додавати свої знання; Не потрібно перебирати це і починати заново (як у Windows).
ctrl-alt-delor

9

Ви можете перелічити групи, використовуючи getentабо якщо немає, загляньте/etc/group

Під час виконання команди GID є третім значенням у висновку, наприклад:

$ getent group
man:x:15:
audio:x:63:
nobody:x:99:
users:x:100:
<--snipped-->
utmp:x:22:

Отже, щоб перелічити лише назви груп та їх GID, використовуйте awkдля друку потрібні стовпці:

$ getent group | awk -F ":" '{ print $1,$3 }'
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Дивіться також http://man7.org/linux/man-pages/man1/getent.1.html

У тому випадку, коли getentйого немає.

$ grep $group /etc/group

GID - 3-е значення на виході. Напр

$ grep users /etc/group
users:x:100:

У вищесказаному GID для користувачів групи становить 100. Щоб отримати лише ім’я групи та GID, ви можете використовувати awk та grep так:

$ cat /etc/group | awk -F ":" '{ print $1,$3 }' 
man 15
audio 63
nobody 99
users 100
<--snipped-->
utmp 22

Майте на увазі, що для систем, створених для використання зовнішньої аутентифікації (наприклад, LDAP), всі групи не будуть присутні у файлі / etc / group. Дивіться також http://www.cyberciti.biz/faq/understanding-etcgroup-file/


6
Групи не завжди зберігаються в /etc/group. Їх можна було зберігати в NIS, LDAP тощо.
Йорданм

1
Не працюйте з групою ldap, використовуйте getent group.
МУП Бельгія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.