sudo Fehler?

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

    ich habe folgendes Problem (Bitte nicht lachen):

    Wenn ich:

    Code
    sudo

    eingebe (egal, ob etwas dahinter steht oder nicht)

    kommt:

    Code
    Usage: /etc/init.d/sudo {start|stop|restart|force-reload|status}


    Alles was ich gemacht habe ist minidlna zu installieren ...

    und danach ging sudo meines Wissens noch ...


    was habe ich da schon wieder gemacht bzw. wie mache ich es rückgängig?

    LG. AltBen

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

  • Selbst wenn er /etc/init.d im PATH haben sollte, dürfte dort kein init Dienst sudo existieren.

    Was zeigt which sudo an?
    Zunächst, bekommst Du eine vernünftige Ausgabe, wenn Du sudo mit vollem Pfad absetzt?
    D.h. es sollten z.B. wie unten die sudoers Defaults sowie die erlaubten Kommndos für den jeweiligen User angezeigt werden.
    z.B.

    Liegt evtl. ein Binary oder Symlink in /etc/init.d namens sudo, der dort nicht reingehört?

    Was gibt ls -il /etc/init.d/sudo aus?

  • which sudo

    Code
    /usr/bin/sudo

    /usr/bin/sudo

    Code
    Usage: /etc/init.d/sudo {start|stop|restart|force-reload|status}

    ls -il /etc/init.d/sudo

    Code
    18365 -rwxr-xr-x 1 root root 714 Jun 28  2012 /etc/init.d/sudo

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

  • Bingo!

    Ok und was steht in der /etc/init.d/sudo drin? So in den ersten Zeilen ? Meist steht darin wie das skript (eigentlich) heißen sollte.

    Gab es bei de minidlna installation irgend wie eine anweisung etwas nach /etc/init.d zu kopieren? Na komm gib es zu...

    Du könntest auch deinen history durch guggen ob du irgend wo so was wie "mv bla sudo gemacht" hast.

    Ergänze mal deine Signatur: Ich bin root! Ich darf das! Und ich mach das!

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • ich habe minidlna mit dem Packetmanager installiert ;)

    Code
    sudo apt-get install minidlna

    /etc/init.d/sudo

    + Ich mag meine Signatur aber so

    Ich bin root! Ich darf das! :D


    Diese Signatur könnte jetzt sinnvoll sein ... ist sie aber nicht! :denker:

    Einmal editiert, zuletzt von AltBen (19. März 2014 um 17:23)

  • Ok, *verwundertgugg*, das gibt es tatsächlich das sudo init skript. Was soll das denn für ein Skript sein? Suche ein Verzeichniss, wenn du es gefunden hast und setze den Zeitstempel neu?

    Dann musst du tatsächlich mal schauen, was in deiner PATH variable drin steht. Anders kann ich mir das nicht erklären.

    Gib mal "env" aus.

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.

  • Nein das skript geht ja anders: Wenn es ein Verzeichnis gibt, dann suche das Verzeichnis und setze einen Zeitstempel.
    Nun gut es würde alles gefunden werden was darin ist, aber der Sinn entgeht mir - warum 01.01.1985 Kann mir das irgend jemand erklären?

    --
    man ist das System-Anzeigeprogramm für die Handbuchseiten von Linux.


  • Nein das skript geht ja anders: Wenn es ein Verzeichnis gibt, dann suche das Verzeichnis und setze einen Zeitstempel.


    Du meintest wohl,
    "durchsuche alles unterhalb dieses Verzeichnisses und gebe jedem File, das du darin findest, eine atime und mtime vom 01.01.1985 00:00".

    Das ist aber auch tatsächlich, das Einzige was dieses Wrapper Skript für diesen Pseudo init Service "sudo" beim Starten tut
    und auch nur, falls ein Verzeichnis /var/lib/sudo existiert.

    Für derlei Aufräum- bzw. Initialisierungsaufgaben halte ich ein eigenes init Skript für völlig deplaziert.
    Zumal hier bei sudo gar kein daemon oder grösseres Subsystem gestartet wird.
    Das trägt eher zur Konfusion bei.
    Vielleicht wäre das alte rc.local noch aus BSD-Zeiten ein geeigneterer Ort, um dieses touch Skript aufzurufen?


    Zitat von Lunepi

    Nun gut es würde alles gefunden werden was darin ist, aber der Sinn entgeht mir - warum 01.01.1985 Kann mir das irgend jemand erklären?

    Mir eigentlich auch nicht. Ich habe aber einen Verdacht.

    Ihr müsst mir mal helfen.
    Da ich kein Debian-Nutzer bin (auf meinem RPI soll Pidora oder Arch laufen), kenne ich auch die Verzeichne nicht,
    die eine sudo-Installation auf einem Debian oder einem seiner Derivate unterhält.

    Auf RHEL bzw. Fedora Systemen nutzt sudo u.a. ein Verzeichnis /var/run/sudo
    das auch in der FILES section der manpage von sudo erwähnt wird.

    Zitat von man sudo(8) on RHEL 5

    FILES
    /etc/sudoers List of who can run what

    /var/run/sudo Directory containing timestamps

    /etc/environment Initial environment for -i mode on Linux and
    AIX


    Was also bei einem sudo auf RHEL das Directory containing timestamps ist,
    muss hier das ominöse /var/lib/sudo sein.
    (gab's da nicht mal Bestrebungen zu einer LSB?:s)

    Als solches würde das Rückdatieren der Timestamps einen Sinn für mich ergeben.
    Damit soll wohl sichergestellt werden, dass die Timestamps aller sudo User definitiv veraltet sind,
    so dass jeder sudo User beim ersten Aufrufen eines sudo Kommandos gezwungen wird, sein Passwort einzugeben.
    Vermutlich gilt das aber nicht für sudo Kommandos mit vorangestelltem NOPASSWD: Attribut.

    Warum der sudo Package Maintainer dieser Distro den 01.01.1985 gewählt hat,
    bleibt allerdings sein Geheimnis.


    Diese Spekulationen über Sinn oder Unsinn des sudo init Skripts helfen aber erstmal AltBen nicht weiter.
    In seinem OS muss sich noch ein Fehler eingeschlichen haben.

    Was zeigt denn ein

    Code
    # ls -li /usr/bin/sudo /etc/init.d/sudo


    an?
    Könnte hier ein Symlink (oder Hard Link, wenn /usr kein separates FS ist)
    durch ein zu leichtfüssiges root Kommando versehentlich da reingeraten sein?

  • Mach doch einfach mal folgendes:

    Code
    rm -f /usr/bin/sudo
    
    
    apt-get install --reinstall sudo

    Danach sollte sudo wieder ganz normal funktionieren aber trotzdem noch das /etc/init.d/sudo vorhanden sein falls das von irgendwas angesprochen wird (auch bei mir gibt es /etc/init.d/sudo aber ich hab kein symlink in /usr/bin/sudo)

Jetzt mitmachen!

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