ubuntuusers.de

Problem: Passwort abfrage mit Python

Status: Ungelöst | Ubuntu-Version: Ubuntu 6.10 (Edgy Eft)
Antworten |

Hagbard_Celine

Anmeldungsdatum:
25. Februar 2007

Beiträge: 2

hallo ubuntu-community!
mir stellt sich ein problem mit python:
ich will eine passwort-abfrage in ein programm einbauen, allerdings ist das passwort immer falsch da mein passwort 'shadowed' ist und
somit das verschlüsselte passwort das ich mit 'pwd.getpwnam()' auslese immer 'x' ist....
allerdings scheint das aber anwendungen wie die pakatverwaltung nicht zu stören also geh ich mal davon aus das diese nicht diese oder eine
ähnliche methode benutzten!?

die frage ist nun wie ich das realisiere... ❓

hier mein skript:

import crypt
import getpass
import pwd

def login():
    print 'Python Passwort-Cracker\n'
    username = raw_input('Python login:')
    username = getpass.getuser()
    print username
    cryptedpasswd = pwd.getpwnam(username)[1]
    print cryptedpasswd
    if cryptedpasswd:
        if cryptedpasswd == 'x' or cryptedpasswd == '*': 
            print "Sorry, currently no support for shadow passwords"
        cleartext = getpass.getpass()
        return crypt.crypt(cleartext, str(cryptedpasswd)) == cryptedpasswd
    else:
        return 1
        
print login()

danke für alle antworten!! 😀

mfg | hagbard

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4668

Wohnort: Berlin

Es gibt kaum Anwendungen die das selber machen. Es läuft in den meisten Fällen auf su/sudo oder grafische Front-Ends dafür hinaus, wie zum Beispiel bei den Paketverwaltungen.

Neben der "shadow"-Passwortdatei gibt es ausserdem noch eine Reihe anderer Möglichkeiten sich zu authentifizieren, zum Beispiel über LDAP. Es gibt Python-Bindungen für die PAM-Bibliothek, vielleicht kann man die benutzen.

Hagbard_Celine

(Themenstarter)

Anmeldungsdatum:
25. Februar 2007

Beiträge: 2

ok... ich programmier erst seit einer woche mit python (wenn man das überhaupt so nennen kann)...
also danke erst mal für die antwort!
wäre nett wenn du mal das skript hier posten könntest!!

thx + mgf | hagbard

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

Marc 'BlackJack' Rintsch hat geschrieben:

Es gibt kaum Anwendungen die das selber machen. Es läuft in den meisten Fällen auf su/sudo oder grafische Front-Ends dafür hinaus, wie zum Beispiel bei den Paketverwaltungen.

Es ist außerdem nicht üblich, dass Programme sich selbst zum root machen. Wenn man root Privilegien braucht, dann sollte das dem User auch klar sein: Er soll also das "su" oder "sudo" selbst dem Befehl voranstellen...

Marc 'BlackJack' Rintsch hat geschrieben:

Neben der "shadow"-Passwortdatei gibt es ausserdem noch eine Reihe anderer Möglichkeiten sich zu authentifizieren, zum Beispiel über LDAP. Es gibt Python-Bindungen für die PAM-Bibliothek, vielleicht kann man die benutzen.

Diese Bindings sind aber nicht wirklich cool. Ich hab sie vor einiger Zeit mal ausprobiert: Sie halten sich extrem eng an die C API und sind außerdem noch schlecht dokumentiert. Lieber verwende ich da sudo oder programmiere gleich in C, als das ich mir diese Bibliotheken antue.

Antworten |