GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir à quels groupes un utilisateur appartient sous Linux

Un groupe Linux est une collection d'un ou plusieurs utilisateurs avec des exigences d'autorisation identiques sur les fichiers et les répertoires. Un utilisateur peut être membre de plusieurs groupes à la fois. Sous Linux, chaque information de groupe est stockée dans le "/etc/group" dossier. Dans ce didacticiel, nous verrons toutes les façons possibles de trouver facilement à quels groupes appartient un utilisateur dans les systèmes d'exploitation Linux et Unix.

Connaître les groupes auxquels appartient un compte d'utilisateur sera utile dans de nombreuses occasions. Par exemple, l'autre jour j'étais en train d'installer Dropbox sur mon serveur Ubuntu . Lors de la configuration de Dropbox, j'ai dû entrer mon nom d'utilisateur actuel et le nom du groupe. Vous pouvez également vous trouver dans une situation où vous devez identifier les groupes auxquels appartient un utilisateur. Si tel est le cas, utilisez l'une des méthodes suivantes pour savoir à quel groupe appartient un utilisateur.

Découvrez à quels groupes un utilisateur appartient sous Linux

Il existe de nombreuses façons de répertorier les groupes dont un utilisateur Linux est membre. La méthode la plus couramment utilisée consiste à utiliser des groupes commande.

Méthode 1 - commande de groupes

Les groupes La commande affiche les noms de groupe actuels et les utilisateurs appartiennent à ces groupes dans les systèmes d'exploitation Linux et Unix.

Tout d'abord, découvrons combien de groupes il y a dans notre système Linux.

Pour trouver la liste des disponibles sous Linux, lancez les groupes commande sans aucun argument comme ci-dessous :

$ groups

Exemple de résultat :

sk adm disk cdrom sudo dip plugdev lpadmin sambashare kvm libvirt vboxusers

Lister les groupes disponibles sous Linux

Comme vous pouvez le voir dans la sortie ci-dessus, il y a actuellement 12 groupes dans mon système.

Maintenant, découvrez quels groupes un utilisateur spécifique, par exemple sk , appartient à. Pour ce faire, entrez la commande "groups" suivie du nom d'utilisateur comme ci-dessous :

$ groups sk

Exemple de résultat :

sk : sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Découvrez à quels groupes un utilisateur appartient sous Linux à l'aide de la commande groups

Ici, sk est mon nom d'utilisateur et l'utilisateur sk est membre de tous les groupes ci-dessus. Vous avez peut-être remarqué que "sk" est répertorié deux fois. Parce que j'ai utilisé le même nom pour le nom d'utilisateur et le nom de groupe.

Pour plus de détails sur la commande "groups", consultez les pages de manuel.

$ man groups

Méthode 2 - commande id

L'autre façon d'identifier les groupes auxquels appartient un utilisateur consiste à utiliser "id" commande. La commande id est utilisée pour imprimer les informations d'utilisateur et de groupe pour l'UTILISATEUR spécifié. Si l'UTILISATEUR n'est pas spécifié, il imprimera les informations pour l'utilisateur actuel.

Pour identifier tous les groupes auxquels appartient un utilisateur à l'aide de la commande "id", exécutez :

$ id sk

Remplacer sk avec votre nom d'utilisateur.

Exemple de résultat :

uid=1000(sk) gid=1000(sk) groups=1000(sk),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1001(vboxusers),129(kvm),136(libvirt)

Découvrez à quels groupes un utilisateur appartient sous Linux à l'aide de la commande id

Comme vous le voyez ici, la commande id répertorie non seulement les groupes dont l'utilisateur est membre, mais également l'identifiant de groupe et l'identifiant d'utilisateur (UID et GID) de l'utilisateur donné et des groupes. Il a une sortie plus détaillée que la commande "groups", donc si vous avez besoin de l'identifiant de groupe/utilisateur, utilisez ceci !

Si vous ne voulez pas imprimer les chiffres, utilisez simplement -Gn drapeau comme ci-dessous :

$ id -Gn sk
sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Pour plus de détails, reportez-vous aux pages de manuel.

$ man id

Méthode 3 - en utilisant le fichier "/etc/group"

Comme je l'ai déjà dit, le /etc/group Le fichier contient les informations sur chaque groupe dans un système Linux. Vous pouvez trouver à quels groupes l'utilisateur donné appartient à partir du contenu de /etc/group fichier à l'aide de "grep" commande comme indiqué ci-dessous :

$ grep sk /etc/group

Exemple de résultat :

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Si vous souhaitez exclure les identifiants de groupe et le nom d'utilisateur et afficher uniquement les noms de groupe, dirigez la sortie de la commande "grep" vers "awk" commande comme ci-dessous :

$ grep sk /etc/group | awk -F: '{ print $1 }'

Exemple de résultat :

adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Trouvez à quels groupes un utilisateur appartient sous Linux à l'aide des commandes grep et awk

Méthode 4 - commande getent

Le "getent" La commande affiche les entrées des bases de données prises en charge par les bibliothèques Name Service Switch, qui sont configurées dans /etc/nsswitch.conf fichier.

Nous pouvons lister tous les groupes disponibles et leurs membres dans un système Linux en utilisant la commande getent comme ci-dessous :

$ getent group

Pour savoir à quels groupes appartient un utilisateur spécifique (par exemple, sk), exécutez :

$ getent group | grep sk

Exemple de résultat :

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Si vous souhaitez afficher uniquement les groupes à l'exclusion de tous les autres détails, filtrez la sortie avec les commandes "grep" et "awk" comme ci-dessous :

$ getent group | grep sk | awk -F: '{ print $1 }'
adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Trouvez à quels groupes un utilisateur appartient sous Linux à l'aide des commandes getent, grep et awk

Répertorier tous les utilisateurs appartenant à un groupe sous Linux

Nous pouvons également trouver la liste de tous les utilisateurs appartenant à un groupe spécifique. Par exemple, la commande suivante affiche les utilisateurs qui appartiennent au groupe nommé stockage .

$ grep -w storage /etc/group
storage:x:95:sk

Facile, non ? En effet. Trouver à quels groupes appartient un utilisateur et les utilisateurs d'un groupe spécifique est super facile !!

Lire connexe :

  • Comment répertorier les membres d'un groupe sous Linux
  • Comment trouver tous les utilisateurs de Sudo dans votre système Linux

Putain ça aide.


Linux
  1. Comment trouver la liste de tous les ports ouverts sous Linux

  2. Comment travailler avec des utilisateurs et des groupes sous Linux

  3. Comment savoir à quel groupe appartient un utilisateur donné ?

  4. Comment trouver l'utilisation de la mémoire utilisateur sous Linux

  5. Comment vérifier quel fuseau horaire sous Linux ?

Comment trouver une adresse IP sous Linux

Comment trouver le nom d'hôte sous Linux

Comment savoir à quels groupes un utilisateur appartient dans Ubuntu 20.04

Comment trouver quelle carte graphique avez-vous sous Linux ?

Comment changer d'utilisateur sous Linux

Comment connaître les groupes d'un utilisateur Linux