(solved) Zugriff auf die Linux Benutzerverwaltung



  • Hi,

    habe ermittelt, das auf der Console das Password abgefragt wird !:?

    Siehe auch Thread:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-135098-and-highlight-is-pamstart.html

    Gruss



  • Ritchie schrieb:

    Mein Programm darf nur mit normalen Userrechten arbeiten. Wir wollen es doch nicht wie Windoof manchen oder ? 😉

    dann kannst du nicht gegen /etc/shadow authentifizieren.



  • Ritchie schrieb:

    @Besserwisser:
    Mein Programm darf nur mit normalen Userrechten arbeiten. Wir wollen es doch nicht wie Windoof manchen oder ? 😉

    Brauch es ja auch nicht komplett. Du setzt bei deinem Programm das SETUID-Bit und sobald du den Nutzer authentifiziert hast, lässt du den Prozess einfach zu dieser Nutzer-ID wechseln.



  • verschiedene distributionen versuchen, die anzahl der setuid programm zu verringern. es wäre wirklich gut, wenn Ritchie mal verraten würde, wieso sein programm diese authentifizierung braucht. solange nicht wirklich die notwendigkeit von pam gesichert ist, soll er es lieber nicht verwenden.



  • Hallo,

    ich schreibe portiere eine Anwendung, welches eine Benutzerverwaltung
    verwendet. Hierbei möchte ich die bestehende Benutzerverwaltung von
    KDE oder später eines Domaincontroller verwenden.

    Wieso das rad zweimal erfinden.

    Gruss



  • dann wirst du um pam und womöglich das winbind module für pam nicht herumkommen.



  • Hallo Besserwisser,

    was bitte verstehe ich jetzt unter winbind modul ? Reicht die normale PAM nicht aus ? Siehe auch zweiten Thread von mir zu PAM.

    Zusatz:
    Ich habe jedesfalls festgestellt, das mein Programm offensichtlich den Speicher überschreibt. Ich Quellcode liegt das Password
    zwar vor der Datenstruktur "Conv" aber nach Aufruf der Funktion

    pam_start("check_user", userID, &conv, &pamh);
    

    wird hier der Speicher überschrieben und ich weiss nicht was mir hier in die Suppe spuckt. Ich verwende die Standard Strukuren und das Programm
    ist noch nicht in meine "Conv" Routine eingesprungen (breakpoint gesetzt)
    und die Var. des Speichers ist überschrieben.

    Welche Hilfsmittel gibt es hier ? evtl. "Valgrind"

    Gruss



  • Ritchie schrieb:

    was bitte verstehe ich jetzt unter winbind modul ? Reicht die normale PAM nicht aus ? Siehe auch zweiten Thread von mir zu PAM.

    winbind ist ein module für pam. es ermöglicht die authentifizierung zu einer windows domain. das war doch, was du brauchst, oder?



  • Hi,

    das stimmt. Nur derzeit will ich eigentlich erstmal die PAM ans rennen bekommen. Ich wollte mir nur die Möglichkeit offen halten. Derzeit versuche ich eine reine lokale Lösung zu erstellen (auf ubuntu Ebene).

    Leider habe ich noch offensichtlich mit Speicherüberschreibung oder Pointerprobleme zu kämpfen. Habe mir erstmal ein Buch bei Amazon bestellt
    siehe http://www.c-plusplus.net/forum/viewtopic-var-t-is-237205.html
    Info hierzu folgen, wenn ich es in den Händen halte.

    Wenn die PAM läuft wollte ich später mich mal mit der Domain-Lösung beschäftigen.
    Nicht zu viel auf einmal.

    Gruss



  • Hallo Zusammen,

    eins meiner Probleme habe ich gefunden.
    Wenn ich den Benutzer verwende, mit welchem ich gerade unter Linux am arbeiten bin, dann funktioniert die Routine.

    Nicht aber, wenn es ein anderer Benutzer. Dann kommt der Fehler
    in retval

    PAM_NEW_AUTHTOK_REQD
    

    Bei einem erneuten setzen des Benutzer via

    retval = pam_set_item(pamh,PAM_USER,userID);
    retval = pam_set_item(pamh,PAM_AUTHTOK,upassword);
    

    bekomme ich den Fehler 29 DOMAINE unbekannt.

    Wenn ich dann mit

    retval = pam_set_item(pamh,PAM_RHOST,(char*) "myhost");
    

    ändert das an der Sache auch nichts.

    Meine PAM.d/config sieht so aus

    auth       required     pam_unix.so
    account    required     pam_unix.so
    

    Im Log steht dann auch nur:

    pam_unix(bdo:auth): authentication failure; logname= uid=1000 euid=1000 tty= ruser= rhost=
    

    Hat jemand eine Idee ? 🙄

    Gruss


Anmelden zum Antworten