Jak wyświetlić listę grup z gid w redhat?

42

Najpierw wymieniłem grupy za pomocą:

groups 

Dodałem grupę za pomocą

groupadd -g 300 oinstall
groupadd –g 500 dba

a potem kiedy to zrobię

groups 
root bin daemon sys adm disk wheel sfcb

Nie mogę znaleźć grup, które dodałem. Jak wyświetlić listę grup o identyfikatorze grupy? Ponadto, jeśli spróbuję go dodać ponownie, oznacza to, że grupy są już obecne.

kinkajou
źródło

Odpowiedzi:

67

Do groupsgrupy wymienia dowodzenia, że użytkownik jest obecnie członkiem, nie wszystkie grupy dostępne w systemie. Możesz wyszukać grupę według nazwy lub gid za pomocą getentpolecenia.

getent group oinstall
getent group 500

Aby wyświetlić wszystkie grupy, po prostu zostaw zapytanie wyszukiwane poza poleceniem:

getent group
Jordan
źródło
2
@Kitex, ponieważ utworzyłeś grupę, ale nie jesteś jej członkiem. Musisz dodać użytkownika do grupy, a następnie wylogować się i zalogować ponownie, aby pojawił się za pomocą groupspolecenia.
jordanm
1
@kitex Zaktualizowałem nieco sformułowania, mam nadzieję, że to pomoże ci zrozumieć.
jordanm
2
@Kitex zaktualizował odpowiedź
jordanm
3
@kinkajou duże doświadczenie zawodowe, a także dużo czasu spędzonego na stronach takich jak ta i obsługa IRC Linux. Jestem profesjonalistą i entuzjastą od około 8 lat. Myślę, że bycie entuzjastą jest ważną częścią, ponieważ łatwiej zapamiętać rzeczy, na których Ci zależy.
jordanm
1
@kinkajou Używałem Gnu / Linux do wszystkich moich obliczeń w domu. Komputery stacjonarne, laptopy, raspberry-pi. Używam go od 1991 roku (pierwotnie Gnu na Solaris, grudzień, HP). Wciąż powiększam swoją wiedzę; Nie musisz tego robić od nowa i zaczynać od nowa (jak w przypadku systemu Microsoft Windows).
ctrl-alt-delor
9

Możesz wyświetlić listę grup, używając getentlub, jeśli nie są obecne, zajrzyj do/etc/group

Podczas uruchamiania polecenia GID jest trzecią wartością na wyjściu, np .:

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

Aby wyświetlić tylko nazwy grup i ich GID, użyj awkdo wydrukowania kolumn, które chcesz w ten sposób:

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

Zobacz także http://man7.org/linux/man-pages/man1/getent.1.html

W przypadku, gdy getentnie jest obecny.

$ grep $group /etc/group

GID jest trzecią wartością na wyjściu. Na przykład

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

Powyżej, GID dla użytkowników grupy wynosi 100. Aby uzyskać tylko nazwę grupy i GID, możesz użyć awk i grep w następujący sposób:

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

Należy pamiętać, że w systemach skonfigurowanych do korzystania z zewnętrznego uwierzytelniania (takich jak LDAP) wszystkie grupy nie będą obecne w pliku / etc / group. Zobacz także http://www.cyberciti.biz/faq/understanding-etcgroup-file/

M_dk
źródło
6
Grupy nie zawsze są przechowywane w /etc/group. Mogą być przechowywane w NIS, LDAP itp.
Jordan
1
Nie pracuj z grupą LDAP, użyj getent group.
MUY Belgia,