Gibt es dafür einen direkten Befehl, festzustellen, welche "normalen" User es zB ab UID 1000 gibt oder macht man das am besten mit ls /home? Al
Am Donnerstag, 16. September 2004 18:33 schrieb Al Bogner:
Gibt es dafür einen direkten Befehl, festzustellen, welche "normalen" User es zB ab UID 1000 gibt oder macht man das am besten mit ls /home?
ls /home ist unsicher, weil es zwar üblich ist, dort die Home-Verzeichnisse zu parken aber nicht zwingend. Was meinst Du mit "normal"? Ist das hier für Dich normal? getent passwd | grep '^[^:]\+:[^:]\+:[0-9]\{4,\}:' Jan -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org
Am Donnerstag, 16. September 2004 20:47 schrieb Jan Trippler:
Am Donnerstag, 16. September 2004 18:33 schrieb Al Bogner:
Gibt es dafür einen direkten Befehl, festzustellen, welche "normalen" User es zB ab UID 1000 gibt oder macht man das am besten mit ls /home?
ls /home ist unsicher, weil es zwar üblich ist, dort die Home-Verzeichnisse zu parken aber nicht zwingend.
Was meinst Du mit "normal"? Ist das hier für Dich normal? getent passwd | grep '^[^:]\+:[^:]\+:[0-9]\{4,\}:'
Das bringt bei mir fast das Gewünschte. Dieses Ergebnis ist aber unerwünscht: nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash Helgas Variante passt in der Praxis unter Berücksichtigung obiger Einschränkung besser: "less /etc/passwd | grep home" und damit bin ich dann fast wieder bei ls, da ich zu less noch cut brauche um nur den User zu erhalten. Ich hätte mir so was ähnliches wie finger für meine Problemstellung gewünscht. Al
Am Donnerstag, 16. September 2004 21:53 schrieb Al Bogner:
Am Donnerstag, 16. September 2004 20:47 schrieb Jan Trippler:
getent passwd | grep '^[^:]\+:[^:]\+:[0-9]\{4,\}:'
Das bringt bei mir fast das Gewünschte. Dieses Ergebnis ist aber unerwünscht: nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
Dann filtere es doch aus! Du bist doch lange genug hier, um grep und Co. zu kennen.
Helgas Variante passt in der Praxis unter Berücksichtigung obiger Einschränkung besser: "less /etc/passwd | grep home" und damit bin ich dann fast wieder bei ls, da ich zu less noch cut brauche um nur den User zu erhalten.
Wie ich schon geschrieben habe - das passt eben nicht immer. /home ist vielleicht in Deinem System (und in vielen anderen) das $HOME für Otto-Normaluser, aber das ist kein Muss.
Ich hätte mir so was ähnliches wie finger für meine Problemstellung gewünscht.
So läuft es nun mal - wenn es keinen passenden Befehl gibt, dann bastelt man sich einen. Jan -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org
Am Donnerstag, 16. September 2004 23:03 schrieb Jan Trippler:
Das bringt bei mir fast das Gewünschte. Dieses Ergebnis ist aber unerwünscht: nobody:x:65534:65533:nobody:/var/lib/nobody:/bin/bash
Dann filtere es doch aus! Du bist doch lange genug hier, um grep und Co. zu kennen.
Sorry, da ist was falsch rübergekommen, ich habe nicht darum gebeten, dass du mir erklärst, wie ich das filtere. Das ist nun wirklich trivial. Ich habe es auf die Frage "was ich unter einem normalen User meine" bezogen. Wie bereits an anderer Stelle geschrieben, wollte ich sicher gehen, dass ich da eventuell einen einfachen Befehl nicht kenne. Al
Hi Al, Am Donnerstag 16 September 2004 18:33 schrieb Al Bogner:
Gibt es dafür einen direkten Befehl, festzustellen, welche "normalen" User es zB ab UID 1000 gibt oder macht man das am besten mit ls /home?
Ich behelfe mir immer mit 'less /etc/passwd | grep home'. Dann habe ich zumindest die User mit einem echten Account, auch wenn sie ihr home nie verwenden und die Shell /bin/false ist. Wenn es allerdings eine andere Methode gibt... interessiert. Helga -- ## Content Developer OpenOffice.org: lang/DE ## Office-Suite für Linux, Mac, Windows -- http://de.openoffice.org/ ## Werkstatt & Information zu OpenSource -- http://www.eschkitai.de/ ## Etikette, nein Danke? -- http://www.suse-etikette.de.vu/
Hallo Al, hallo Leute, Am Donnerstag, 16. September 2004 18:33 schrieb Al Bogner:
Gibt es dafür einen direkten Befehl, festzustellen, welche "normalen" User es zB ab UID 1000 gibt oder macht man das am besten mit ls /home?
Ab 1000 (also vierstellig) ist recht einfach: grep -E "^[^:]+:[^:]+:[0-9]{4}:" /etc/passwd ^^^^^^ ^^^^^ ^^^^^^^^ Die ersten zwei | Prüfung auf 4 Ziffern (UID), Felder überspringen | gefolgt von einem weiteren Feldtrenner (sonst könnte es un- | (im Folgenden als "interessanter Teil" beabsichtigte Zufalls- | bezeichnet) treffer geben) | Für User ab UID 500 musst Du die RegEx noch etwas anpassen, der interessante Teil wird dann zu ([5-9][0-9]{2}|[0-9]{4}) ^^^^^^^^^^^^^ ^^^^^^^^ 500 - 999 | vierstellige UIDs Wenn Du das Ganze noch an ein | cut -d: -f1 pipst, erhältst Du nur die Usernamen, mit -f3 die UIDs und mit -f6 die Homeverzeichnisse. Gruß Christian Boltz -- Vielleicht hat aber auch nur dein Computer so etwas wie eine eigene Intelligenz entwickelt, so als eine Art Überlebensstrategie. Mach mal weiter, vielleicht kommst du ja noch ganz groß raus als unfreiwilliger Erfinder des ersten völlig selbständig kognitiven Computers. [Matthias Houdek in suse-linux]
participants (4)
-
Al Bogner
-
Christian Boltz
-
Helga Fischer
-
Jan.Trippler@t-online.de