Existe-t-il une commande conviviale que je peux utiliser pour répertorier les utilisateurs dans une console sur un système Ubuntu?
Lorsque je cat /etc/passwd
reçois une liste d'utilisateurs difficile à lire. Ce serait bien de voir une liste alphabétique, avec des entrées organisées en colonnes et avec des noms de groupe entre parenthèses à côté des ID de groupe.
command-line
users
M. Dudley
la source
la source
cut
. Pour alphabétisé, il y en asort
. Si vous avez besoin des noms de groupe, jouez avec join (qui peut en fait ne montrer qu'un sous-ensemble de colonnes, btw).Réponses:
Bon moyen pour une sortie agréable du fichier / etc / passwd:
Vous pouvez maintenant le trier:
Avec les noms de groupes dans la dernière colonne (pas de parenthèses):
la source
n
option.column -ts: /etc/passwd
a bien fonctionné.Si vous disposez d'un accès root sur la machine, vous pouvez effectuer les opérations suivantes:
Comment ça marche
Devenez root pour lire le fichier shadow. Vous n'avez besoin des privilèges root que si vous voulez vérifier si l'utilisateur a un mot de passe défini (utilisateur humain), sinon vous pouvez simplement
cat /etc/passwd
au lieu desudo grep ...
:Afficher uniquement les utilisateurs disposant d'un mot de passe:
Trier par nom d'utilisateur:
Jeter toutes les informations à l'exception du nom d'utilisateur:
Itérer à travers les noms d'utilisateur et l'enrichir avec des informations de groupe:
Formatez l'entrée en colonnes:
Utilisez vi pour voir le résultat:
Si vous ne disposez pas d'un accès root,
essayez quelque chose comme ceci:
Sa sortie est un peu différente, mais je laisse le soin au lecteur de combiner les deux parties de cette réponse en quelque chose qui correspond parfaitement au travail. (N'aimez-vous pas simplement
sed
?)la source
Dans Ubuntu, cela peut être comme suit:
sept champs de / etc / passwd stockés dans $ f1, f2 ..., $ f7
la source
Quelque chose que je fais et qui fonctionne à mes fins est
Certes, cela ne vous donne pas vraiment une liste d'utilisateurs, plutôt une liste des répertoires personnels et des répertoires des utilisateurs précédents, mais toute commande que vous souhaitez exécuter sur un utilisateur qui n'existe pas sur le terminal vous le dira et pourrait être un indice à supprimer. le fichier d'accueil qui n'a pas d'utilisateur ou le déplacer!
la source
J'ai pensé que ce serait facile avec
join
, maisjoin
nécessite que les fichiers soient triés sur le champ de jointure . Il a donc fallu (?) Une solution de contournement avec des fichiers temporaires. La sortie est triée par utilisateur et affiche l'ID utilisateur, groupe et groupe.Traduire un personnage en un autre avec
tr
;sort
selon un champ clé avec-k
, sortie dans un fichier avec-o
; joindre en ce qui concerne les champs dans le premier (-1
) et le deuxième (-2
) fichier, sortir certains champs dans le premier fichier (-o 1.1
) ainsi que le second (,2.1,2.3
).la source
/tmp
serait mieux, car FHS déclare que/var/tmp
cela ne sera pas effacé lors des redémarrages, dont nous n'avons pas vraiment besoin.