PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschlüsselung der /etc/shadow


Gast
2006-01-17, 16:05:39
Hi, ich schreibe ein Programm, das einen Benutzer authentifiziert, es läuft als root.

Den Benutzernamen entnehme ich der /etc/passwd, dann möchte ich das Passwort das der Benutzer mir gegeben hat so verschlüsseln wie es in der /etc/shadow ist, und diese beiden Hashes dann für die Authentifizierung vergleichen.

Leider weiss ich nicht, wie ich das hinbekomme.
Es ist ein C Programm.

Abnaxos
2006-01-17, 18:06:03
Den Benutzernamen entnehme ich der /etc/passwd, dann möchte ich das Passwort das der Benutzer mir gegeben hat so verschlüsseln wie es in der /etc/shadow ist, und diese beiden Hashes dann für die Authentifizierung vergleichen.

Je nach System wird das ein MD5 sein. Aber eigentlich solltest du das sowieso nicht direkt machen, dafür ist PAM zuständig. Du kannst ja nicht wissen, ob auf dem System überhaupt Shadow Passwords aktiviert sind oder ob nicht gar die gesamte Userdatenbank auf einem LDAP-Server abgelegt ist. PAM nimmt dir das ab.

http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/

Gast
2006-01-17, 18:19:15
pam wird standardmässig verwendet, dazu hab ich sogar nen thread eröffnet:
http://forum-3dcenter.de/vbulletin/showthread.php?p=3887739#post3887739

aber nicht bei jedem unserer kunden läuft pam, und nicht alle wollen es.
bei manchen alten unixen gibt es das nichtmal, und keine komfortablen funktionen, um die shadow und passwd auszulesen. daher gibt es ne -no-pam otion, und es wird von hand gemacht.

Abnaxos
2006-01-17, 18:29:33
Na dann ... in dem Fall dürfte das hier weiter helfen:

http://www.geniusweb.com/LDP/HOWTO/Shadow-Password-HOWTO.html

Insbesondere:

http://www.geniusweb.com/LDP/HOWTO/Shadow-Password-HOWTO-8.html

The Cell
2006-01-21, 11:20:42
Hi, ich schreibe ein Programm, das einen Benutzer authentifiziert, es läuft als root.

Den Benutzernamen entnehme ich der /etc/passwd, dann möchte ich das Passwort das der Benutzer mir gegeben hat so verschlüsseln wie es in der /etc/shadow ist, und diese beiden Hashes dann für die Authentifizierung vergleichen.

Leider weiss ich nicht, wie ich das hinbekomme.
Es ist ein C Programm.

Kann man den Quelltext zu diesem Tool einsehen?

Ich begründe das mal:
Softwareentwicklung ist trickreich. Gute Softwareentwicklung ist noch viel trickreicher. Und Sicherheitssoftware zu entwickeln traue ich adhoc nicht vielen Menschen zu.
Hier wäre doch der geeignete Raum, um den Quelltext auf die üblichen Fehler hin zu durchleuchten. :-)

Gruß,
Q

Gast
2006-01-27, 14:45:57
Fände ich auch durchaus hilfreich, ist aber leider propietär und closed source :(