Antworten:
Alle Benutzer mit einem /home
Ordner auflisten:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
oder alle Benutzer mit UID >= 1000
:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
eine Kombination
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
oder für alle Einträge
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Mehr Infos hier
Sie können es leicht finden, indem Sie einfach verwenden cut
:
cut -d: -f1,3 /etc/passwd
-d:
Setzt das Trennzeichen wie :
fürcut
-f1,3
extrahiert das nur durch begrenzte Feld 1 und 3 :
aus der /etc/passwd
Datei
Überprüfen Sie man cut
, um weitere Informationen zu erhalten.
Beispiel
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
Wenn Sie ldap
konfiguriert haben, um die ldap
Benutzer in die Ausgabe einzubeziehen:
getent passwd | cut -d: -f1,3
getent passwd
anstelle von / etc / passwd verwenden, da in letzterem ldap-Benutzer nicht berücksichtigt werden
ldap
) ich auf die aktuelle verschoben .. wie auch immer bearbeitet :)