linux-l: Authentification in bash script

Mario Thaten mario at thaten.de
Di Aug 8 10:53:22 CEST 2000


Quoting Thomas Knop <t.knop at isv-gmbh.de>:

> Nein, die sind stadart unix gecrypted. du must
> die /etc/passwd & /etc/shadow auslesen. jede zeile an den \":\" zerteilen.
> Ist der zweite Teilstring aus /etc/passwd ein \"x\" (manchmal auch \"*\") 
> steht das gecryptete password in /etc/shadow (ebenfalls zweiter
> teilstring). Jetzt mußt du die ersten zwei Zeichen des gecrypteten
> passwortes abtrennen  (das/der sogenannte \"salt\"). Dann cryptes du das
> eingegebene Passwort mit genau diesem \"salt\". Das muß dann wieder den
> gleichen codierten String geben. Beispiel:
> /etc/passwd:
> dummvogel:x: ....
> /etc/shadow
> dummvogel:ABt9z6QZHjGJw: ....
> 
> \"dummvogel\" hat natürlich das passwort \"passwort\" und
> crypt(\"passwort\", \"AB\") liefert \"ABt9z6QZHjGJw\".
> 
> Die Unix Passworter werden mit eine one-way DES (=Data Encrytion
> Standart)
> verschlüsselt, d.h. man kann sie nur verschlüsseln, nicht aber
> entschlüsseln
> (one-way). Zu den Zeiten als DES erfunden wurde, galt es als
> \"hinreichend\"
> sicher (Ein Computer hätte ca. 10 Millionen Jahre zur entschlüsselung
> eines
> DES-crypted Textes gebraucht). Heute stimmt das natürlich nicht mehr,
> weswegen auch der shadow Mechanismus eingeführt wurde. In der Regel, 
> darf nämlich jeder User /etc/passwd lesen (wird auch für finger ect.
> benötigt); /etc/shadow hingegen nur root.
> 
> Unter http://people.blinx.de/tknop/ckpw.pl findes du ein kleinen,
> häßlichen, undokumentiertes perl-scrip, das ein passwort mit
> oben beschriebenem Algorithmus auf Gültigkeit prüft.    
> 
> chpw.pl dummvogel passwort
> -> Password for user `dummvogel\' OK!

Hi Thomas,

danke für Deine Mühe!
Ich fänds cool, wenn Du mal bitte noch die Berechtigungen
des Perl-Skripts dahingehend ändern könntest, daß ich\'s
downloaden kann ;). 

Danke für die Erklärung,
Mario

--
Mario Thaten
mario at thaten.de
This is shorter than 4 lines, Robin... ;)



Mehr Informationen über die Mailingliste linux-l