Comment puis-je lister tous les utilisateurs avec leurs UID? Je veux le faire depuis le terminal.
Répertoriez tous les utilisateurs avec un dossier /home
:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
ou tous les utilisateurs avec un UID >= 1000
:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
une combinaison
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
ou pour toutes les entrées
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Plus d'informations ici
Vous pouvez le trouver facilement en utilisant simplement cut
name__:
cut -d: -f1,3 /etc/passwd
-d:
définit le délimiteur comme :
pour cut
name__
-f1,3
extrait les champs 1 et 3 uniquement délimités par :
à partir du fichier /etc/passwd
Vérifiez man cut
pour avoir plus d’idées.
Exemple:
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
Si vous avez configuré ldap
name__, vous devez inclure les ldap
utilisateurs dans la sortie:
getent passwd | cut -d: -f1,3
Étant donné que vous essayez de répertorier l'UID et le nom d'utilisateur, la commande ci-dessous fonctionne mieux sous Solaris. Ils ont deux awk
awk -F: '($ 3> = 1000) {printf "% s:% s", 1 $, 3 $}'/etc/passwd
Je trouve que le moyen le plus simple est d'avoir Webmin sur votre serveur et d'aller simplement dans Système> Utilisateurs et groupes. Vous y trouverez une liste bien formatée avec tous les noms d'utilisateurs et groupes avec leurs uid, leurs répertoires personnels, etc.