Comment lister les groupes avec gid dans redhat?

42

J'ai d'abord énuméré les groupes en utilisant:

groups 

J'ai ajouté un groupe en utilisant

groupadd -g 300 oinstall
groupadd –g 500 dba

et puis quand je fais

groups 
root bin daemon sys adm disk wheel sfcb

Je ne parviens pas à trouver les groupes que j'ai ajoutés. Comment lister les groupes avec identifiant de groupe? De plus, si j'essaie de l'ajouter à nouveau, cela signifie que les groupes sont déjà présents.

Kinkajou
la source

Réponses:

67

La groupscommande répertorie les groupes dont l'utilisateur est actuellement membre, mais pas tous les groupes disponibles sur le système. Vous pouvez rechercher un groupe par nom ou par gid à l'aide de la getentcommande.

getent group oinstall
getent group 500

Pour afficher tous les groupes, laissez simplement votre requête de recherche dans la commande:

getent group
Jordan
la source
2
@Kitex parce que vous avez créé le groupe mais que vous n'en êtes pas membre. Vous devez ajouter votre utilisateur au groupe, puis vous déconnecter et vous reconnecter pour qu'il s'affiche avec la groupscommande.
Jordanie
1
@kitex J'ai légèrement modifié le libellé, j'espère que cela vous aidera à comprendre.
Jordanie
2
@Kitex a mis à jour la réponse
jordanm
3
@kinkajou beaucoup d’expérience professionnelle et beaucoup de temps consacré à des sites tels que celui-ci et le support IRC Linux. Je suis un professionnel et un passionné depuis environ 8 ans. Je pense que le fait d’être un passionné est un élément important, car vous avez plus de chances de vous souvenir de choses qui vous tiennent à cœur.
Jordanie
1
@kinkajou J'ai utilisé Gnu / Linux pour toutes mes tâches informatiques à la maison. Ordinateurs de bureau, ordinateurs portables, framboises-pi. Je l'utilise depuis 1991 (à l'origine Gnu sous Solaris, Dec, HP). Je continue d’ajouter à mes connaissances; Inutile de partir et de recommencer (comme avec Microsoft Windows).
ctrl-alt-delor
9

Vous pouvez lister les groupes en utilisant getentou en l’absence, regarder dans/etc/group

Lors de l'exécution de la commande, le GID est la troisième valeur de la sortie, par exemple:

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

Donc, pour ne lister que les noms de groupes et leurs GID, utilisez awkpour imprimer les colonnes que vous voulez comme ceci:

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

Voir aussi http://man7.org/linux/man-pages/man1/getent.1.html

Dans le cas qui getentn'est pas présent.

$ grep $group /etc/group

Le GID est la 3ème valeur de la sortie. Par exemple

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

Dans ce qui précède, le GID pour les utilisateurs du groupe est 100. Pour obtenir uniquement le nom du groupe et le GID, vous pouvez utiliser awk et grep comme ceci:

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

Sachez que pour les systèmes configurés pour utiliser une authentification externe (telle que LDAP), tous les groupes ne seront pas présents dans le fichier / etc / group. Voir aussi http://www.cyberciti.biz/faq/understanding-etcgroup-file/

M_dk
la source
6
Les groupes ne sont pas toujours stockés dans /etc/group. Ils pourraient être stockés dans NIS, LDAP, etc.
JordanM
1
Ne travaillez pas avec le groupe LDAP, utilisez getent group.
MUY Belgique