web-dev-qa-db-fra.com

Script shell pour la liste des utilisateurs par groupes

Je veux écrire un script Shell qui génère une liste d'utilisateurs. pour chaque utilisateur, affichez le nom d'utilisateur et l'identifiant, ainsi que tous les groupes dont l'utilisateur est membre

cela signifie comme la commande GROUPS mais pour tous les utilisateurs et avec leur identifiant, j'ai utilisé cat -d: -f1,3/etc/passwd pour montrer les utilisateurs avec leur identifiant, mais je ne sais pas comment utiliser les groupes pour chaque ligne.

voudriez-vous s'il vous plaît aidez-moi à écrire ce script merci

2
Mohammad Nikkhou

Utilisez ce script:

#! /bin/bash
#
for i in $(cat /etc/passwd  | cut -d: -f1); do
   echo -n $i ": "
   grep $i /etc/group | cut -d: -f1 | tr "\n" " "
   echo
done

Il listera tous les utilisateurs du système (système inclus) et imprimera la liste des groupes proches d'eux. Avec une modification triviale, vous pouvez également imprimer l'identifiant numérique.

3
Rmano