SUDO SU kann nicht mehr, "kein tty vorhanden und kein askpass Programm angegeben"

7

Ich habe einen Root-Server, bei dem ich die Anmeldung über den Benutzer root deaktiviert habe und einen anderen Benutzer in der sudoer-Liste erstellt habe. Wenn ich also auf dem Server arbeiten will, mache ich:

%Vor%

Auf dem Server:

%Vor%

Geben Sie mein Passwort ein, um die Root-Rechte zu erhalten. Das hat 6 Monate lang gut funktioniert. Heute bekomme ich diese Nachricht, wenn ich sudo su:

mache %Vor%

Was passiert mit dem Hack? Was bedeutet dieser Fehler und warum bekomme ich ihn? Ohne Root-Rechte kann ich nicht so viel auf dem Server tun. Irgendeine Idee, wie Sie das beheben können?

    
Lost in OWL 24.09.2014, 09:24
quelle

2 Antworten

16

sudo versucht, /dev/tty für Lese- / Schreibzugriff zu öffnen, und druckt diesen Fehler aus, wenn es fehlschlägt. Sie haben in Kommentaren angegeben, dass / dev / tty auf Ihrem System fehlt.

Sudo hat eine Option -S , um das Passwort von der Standardeingabe anstelle von / dev / tty zu lesen. Sie sollten sudo -S ausführen können, um root zu werden.

In Bezug auf die Wiederherstellung von / dev / tty ist es möglich, dass ein Neustart des Servers ausreichend ist; Das System könnte während des Bootvorgangs alle Geräte in / dev neu erstellen. Um ein Gerät zu erstellen, verwenden Sie alternativ den Befehl mknod , aber Sie müssen die korrekten Haupt- und Nebennummern für das tty-Gerät kennen. Auf einem Ubuntu-System, das ich zur Verfügung habe, sehe ich diese Einträge in / dev:

%Vor%

In diesem Fall ist die Major-Nummer 5 und die Minor-Nummer ist 0. / dev / console und / dev / ptmx haben dieselbe Major-Nummer. Also würde ich / dev / console oder / dev / ptmx inspizieren, um die richtige Major-Nummer zu finden, und dann ausführen:

%Vor%

wobei "major" die richtige Hauptnummer ist.

Stellen Sie nach dem Erstellen von / dev / tty sicher, dass die Berechtigungen korrekt sind:

%Vor%     
Kenster 24.09.2014, 15:47
quelle
5

Es schlägt fehl, weil sudo versucht, ein root-Passwort einzugeben, und es wird kein Pseudo-tty zugewiesen.

Sie müssen sich entweder als root anmelden oder die folgenden Regeln in Ihrem /etc/sudoers (oder: sudo visudo ) einrichten:

%Vor%

Stellen Sie dann sicher, dass Ihr Benutzer zu admin group (oder wheel ) gehört.

Idealerweise (sicherer) wäre es, Root-Rechte nur auf bestimmte Befehle zu beschränken, die als %admin ALL=(ALL) NOPASSWD:/path/to/program

angegeben werden können     
kenorb 30.03.2015 17:31
quelle

Tags und Links