Welches der folgenden Kommandos sollten Sie verwenden, um nach Benutzerkonten zu suchen, die kein Kennwort haben?
grep '^[^:]*::' /etc/passwd /etc/shadow
sed '/^[^:]*::/s/::/:x:/' /etc/passwd
cut -d: -f2 /etc/passwd /etc/shadow | test -z && echo $PASSWORD
getent --no-pwd passwd
LPI-Lernziel Administrationsaufgaben für Sicherheit durchführen (110.1)
Ein Benutzerkonto hat kein Kennwort, wenn die zweite Spalte von /etc/passwd
oder /etc/shadow leer ist. (Wenn die zweite Spalte in /etc/passwd leer ist,
ist es unerheblich, was in /etc/shadow steht.)
Antwort 3 verwendet cut, um die zweite Spalte aus den
Kennwortdateien zu extrahieren. Dagegen ist zunächst nichts zu sagen,
bis darauf: Die Weiterleitung über eine Pipeline an test ist
zwecklos, da test sich nicht für seine Standardeingabe
interessiert. Ein weiteres kleines Problem wie dass wir so zwar leere
Kennwörter finden, aber nicht mehr wissen, zu welchem Konto sie
gehören (diese Information haben wir mit cut nicht ausgeschnitten),
fällt da schon gar nicht mehr ins Gewicht.
getent passwd (Antwort 4) erlaubt uns die bequeme Abfrage der
Benutzerkonten und holt sogar Daten von NIS oder LDAP. Leider hat es
aber keine Option --no-pwd, so dass dieser Ansatz auch ausscheidet;
ein weiteres Problem ist hier, dass im Kennwort-Feld oft nur x stehen
dürfte und dieses Kommando /etc/shadow völlig ignoriert, wo ja auch
ein leeres Kennwort angegeben sein könnte.
Bleiben sed (Antwort 2) und grep (Antwort 1). Das sed-Kommando
hat wie das getent aus Antwort 4 das Problem, dass /etc/shadow
völlig links liegen gelassen wird. Schon deshalb kommt es nicht als
Lösung in Frage, und wir können Antwort 1 fast für richtig erklären,
ohne es überhaupt näher angeschaut zu haben. Trotzdem betrachten wir kurz
den dort angegebenen regulären Ausdruck: Ab dem Zeilenanfang (»^«) kommt
ein Nicht-Doppelpunkt (»[^:]«), und das beliebig oft, gefolgt von zwei
Doppelpunkten. Das passt genau auf einen Benutzernamen und ein leeres
Kennwort, Antwort 1 ist also offenbar richtig.
Diese Frage ist eine typische LPI-Prüfungsfrage. Auf den ersten Blick wirkt sie furchtbar kompliziert und scheint jede Menge obskures Detailwissen vorauszusetzen. In Wirklichkeit ist sie aber recht einfach zu beantworten, wenn Sie sich an ein paar grundlegende Prinzipien halten.
Nicht angemeldet