sudo su keine passwort abfrage

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich weis, dass sudo nichts mit Einloggen zu tun hat; wenn ich aber bei meinem raspberry auf den root wechseln möchte und ich in der shell sudo su eingebe, wird nicht nach einem Passwort gefragt. Wie kann man das ändern, bzw. sicherer machen, so das eine Passwortabfrage vorgenommen wird?

  • Es wird nur deswegen nicht nach einem Password gefragt weil dem "pi" Benutzer erlaubt wurde sämtliche Befehle über sudo ohne Password Abfrage auszuführen - "pi" muss sich aber erst mal anmelden um das zu können.. Das bedeutet also nicht das "root" sich ohne Password Abfrage anmelden könnte

    "Sicherer machen" brauchst du das nur wenn dein RaspberryPI nicht nur im LAN sondern auch übers Internet erreichbar ist

    Nur speziell "sudo su" eine Password Abfrage zu verpassen ist nicht möglich, wenn dann bei jeglicher "sudo" Aktivität.. Das wird über die Konfigurationsdatei von sudo geregelt, die du über den Befehl visudo bearbeiten kannst (wenn du bei dem Befehl anstatt vi lieber nano benutzen willst dann führ vorher ein mal export EDITOR=nano aus, damit wird dann der standard Editor auf nano gestellt) und lösch die Zeile

    Code
    pi ALL=(ALL) NOPASSWD: ALL

    Bevor du das änderst solltest du aber unbedingt sicherstellen das für root ein Password gesetzt ist welches du auch kennst, sonst sperrst du dich unwiederruflich aus!

    Code
    sudo passwd
  • mmh, in naher zukunft soll dann auch von außen auch der Zugriff möglich sein........

    Zitat
    Code
    sudo passwd


    müsste es dann nicht


    heissen?

    kurze Verständisfrage:

    wenn ich also sudo su eingeben, werde ich automatisch zum
    root
    wenn ich aber als root eingeloggt bin und ich

    Zitat


    sudo pi

    eingebe
    wird mir

    Zitat


    command not found ausgegeben


    ..............
    Kannst du mir da ein wenig auf die Sprünge helfen?

    bei Ubuntu geht ja alles über sudo su und hier findet ja die Passwort abfrage für root statt..........

    Einmal editiert, zuletzt von monaco (19. Dezember 2013 um 11:50)

  • su ist der Befehl um Benutzer zu wechseln. Ohne Parameter wird von root ausgegangen, ansonsten der mit angegebene Benutzer. Wenn du also von root zu pi wechseln möchtest lautet der Befehl su pi. Sudo ist nur ein Zusatz der angibt "führe den folgenden Befehl als root aus". Von root zu einem anderen Benutzer erfolgt nie eine Passwortabfrage, als root hast du ja sowieso ultimativen Zugriff auf alle Benutzer.
    Wie du änderst dass eine Passwortabfrage für sudo erfolgt hat ja meidgrafd schon erläutert.

    sudo passwd ändert das root-passwort, das stimmt schon. Mit su passwd würdest du zum Benutzer "passwd" wechseln, der wahrscheinlich nicht existiert ;)

  • Code
    sudo passwd


    müsste es dann nicht

    heissen?

    nein

    befehle die über sudo ausgeführt werden, werden als root ausführt, also würde "sudo passwd" als root ausgeführt und das dortige password neu gesetzt werden

    su ist etwas anderes -> ändert die Benutzer-ID oder wechselt zu Root

    kannst du alles nachlesen über die manual-pages also zB man su oder man sudo

    die syntax für sudo ist überwiegend: sudo <befehl>

  • Zitat


    Sudo ist nur ein Zusatz der angibt "führe den folgenden Befehl als root aus

    warum bestehen eigentlich dann sämtlich Distributionen wie Ubuntu; xbuntu, kubuntu etc. auf den zusatz sudo

    dann würde die Eingabe

    sudo su bedeuten

    logge dich als superuser ein, oder

    Einmal editiert, zuletzt von monaco (19. Dezember 2013 um 13:04)

  • Wenn du nur su machst wird das Root Passwort ( wenn gesetzt ) abgefragt.
    sudo su machst wird das Passwort des aktuellen User ( PI ) angefragt, wenn nicht die Zeile "NOPASSWD: ALL" in den Sudoers steht.
    (Das ist ein Grund warum es auf meinen Systemen kein Sudo gibt, wenn ich zum root werden will muß ich auch das Root PW kennen und nicht nur das Userpasswort. Und Root kann sich ausschließlich auf der Konsole anmelden)

    su und sudo su machen also beides das selbe.
    Sie wechseln zum Superuser.

    su <username> oder sudo su <username> wechseln zum entsprechenden Usernamen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Weil Ubuntu und deren Derivate das direkte anmelden von "root" aus Sicherheitsgründen abgeschaltet haben und man stattdessen als normaler Benutzer über " sudo " arbeiten soll... Das ist im Grunde auch nicht schlecht ;)

    Ansonsten drehen wir uns aber ein bischen im Kreis :D

    Wie gesagt, sudo führt Befehle mit root Rechten aus - nicht jeder Benutzer darf alle Befehle ausführen, wie zum Beispiel "reboot"

    "su" ist ebenfals eine Möglichkeit Befehle mit root_Rechten ausführen (root ist der superuser), allerdings kann der Befehl eben auch ohne Argumente aufgerufen werden. Root kann über "su" auch zu anderen Benutzern wechseln also zB "su - pi", dann würde er in der Shell von "pi" landen. Wenn man dann anschliesend "exit" eingibt landet man wieder in der Shell von root

    Für "sudo" gibt es aber eben auch eine Konfigurationsdatei in der man einstellen kann ob nach einem password gefragt werden soll oder nicht.. Das geht bei "su" nicht

    "sudo su" bewirkt also das "su" als mit Root Rechten ausgeführt wird. Wenn der aufrufende Benutzer das Recht hat wird nicht nach einem Password gefragt..

    Um über "sudo" den Benutzer zu wechseln gibt es mehrere Möglichkeiten, wie zum Beispiel: sudo bash
    Dann würde also eine bash Shell mit den root Rechten ausgeführt werden was zwangsläfig dazu führt das man root ist - die standard Shell ist nämlich bash, man kann aber auch zu "sh" oder "tsh" usw wechseln, es gibt viele verschiedene Shell bzw Shell fähige Interpreter...


    ...Aber am besten du googlest mal danach und liest dich zB im Ubuntuwiki darüber schlau - das wird hier sonst zu viel (zumindest für mich) :)

  • habe die Zeile gelöscht

    Code
    pi ALL=(ALL) NOPASSWD: ALL

    nun kommt die Passwortabfrage bei sudo su für pi

    kann ich das auch anstatt für pi auf z.B.: testuser umstellen?

    Einmal editiert, zuletzt von monaco (19. Dezember 2013 um 20:42)

  • also bin folgendermaßen eingeloggt:
    testuser@testcomp ~ $
    nun gebe ich den Befehl sudo su ein
    testuser@testcomp ~ $ sudo su

    dann erscheint
    [sudo] password for testuser:
    es erscheint folgende Meldung

    testuser is not in the sudoers file. This incident will be reported.

    pi ist aber auch nicht in der sudoers file und da kommt nicht diese Meldung!

    Kann mir da jemand einen Tipp geben?

    Einmal editiert, zuletzt von monaco (19. Dezember 2013 um 23:43)

  • Der ' pi ' Benutzer ist unter anderem Mitglied in der Gruppe "sudo", deshalb kommt dort keine solche Meldung...

    Die Gruppen eines Benutzers (und die id nummern) kannst du dir über folgenden Befehl anzeigen lassen: id USER
    Also zum Beispiel: id pi

    Um einen Benutzer einer Gruppe hinzuzufügen gibts 2 Möglichkeiten, aber ich nenn jetzt nur die sicherste: usermod -G sudo -a BENUTZER
    Also zum Beispiel: usermod -G sudo -a testuser

    -G ist für den Namen der Gruppe
    -a steht für ' append '

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!