Ziel: Überprüfen Sie, /etc/shadow
ob das Benutzerkennwort gesperrt ist, dh ob das erste Zeichen im zweiten Feld in / etc / shadow, das das Hash-Passwort des Benutzers enthält, ein Ausrufezeichen ('!') Ist.
Gewünschte Ausgabe: Eine Variable mit dem Namen $disabled
'True' oder 'False'.
Benutzername ist in der $uname
Variablen und ich mache so etwas:
disabled=`cat /etc/shadow |grep $uname |awk -F\: '{print$2}'`
# I now have the password and need one more pipe into the check for the character
# which is where I'm stuck. I would like to do like (in PHP syntax):
| VARIABLE=="!"?"True":"False"`
Dies ist ein Fragment eines Skripts, das von Cron mit Root-Berechtigungen ausgeführt wird, sodass auf alle gewünschten Informationen zugegriffen werden kann.
cat
; grep
kann eine Datei als Befehlszeilenargument verwenden.
grep
auch; awk
ist perfekt in der Lage, eine Zeichenfolge in einer Datei zu finden.
!
. Sie haben also technisch Recht, aber das scheint eher ein Tippfehler in der Frage zu sein als ein Fehler in der zugrunde liegenden Absicht.
!
auf den Schattenkennwortmechanismus in Linux-Betriebssystemen.