Machine: sudo: kein tty vorhanden und kein askpass-Programm angegeben

Erstellt am 29. Juni 2016  ·  5Kommentare  ·  Quelle: docker/machine

Ich verwende MacOSX Captain als Host-Betriebssystem
Ich habe einen Container aus Ubuntu Images erstellt
Die Container-Bash wird standardmäßig mit dem Root-Benutzer ausgeführt

Ich habe sudo über apt-get installiert
Dann hatte ich einen nicht privilegierten Benutzer namens test-user erstellt

ich starte die bash mit test-user
docker exec -i -t -u test-user container-id bash

wenn ich versuche, sudo apt-get install zu verwenden
Ich erhalte diesen Fehler sudo: kein tty vorhanden und kein askpass-Programm angegeben

Ich versuche das, weil ich gelesen habe, dass ich keinen Root- oder Admin-Benutzer verwenden sollte, um ein Programm auszuführen, da dies ein Sicherheitsproblem darstellt.

Hilfreichster Kommentar

Ich habe das gleiche Problem. Für einige Leute gehen Sie zu /etc/sudoers (sudoers ist eine Datei) und fügen Sie den Benutzernamen ALL=(ALL) NOPASSWD: ALL hinzu (damit Sie das Passwort nicht benötigen) funktioniert, also können Sie es vielleicht ausprobieren, aber bei mir hat es nicht funktioniert. Hat noch jemand bessere Vorschläge?

Alle 5 Kommentare

Ich habe das gleiche Problem. Für einige Leute gehen Sie zu /etc/sudoers (sudoers ist eine Datei) und fügen Sie den Benutzernamen ALL=(ALL) NOPASSWD: ALL hinzu (damit Sie das Passwort nicht benötigen) funktioniert, also können Sie es vielleicht ausprobieren, aber bei mir hat es nicht funktioniert. Hat noch jemand bessere Vorschläge?

Ja bei mir funktioniert es,
Versuchen Sie, die Datei mit dem visudo-Befehl zu bearbeiten und stellen Sie sicher, dass Sie den Benutzernamen richtig eingegeben haben, aber ich bin mir nicht sicher, ob diese Lösung gesichert ist. Wenn Sie vergessen, das Terminal zu schließen, verwendet jeder, der Ihren Laptop verwendet, den sudo-Befehl ohne Passwort zu ein beliebiges Programm injizieren.

Ich versuche, eine Möglichkeit zu finden, das Passwort einzugeben, aber es funktioniert nicht.

Das hat auch bei mir funktioniert, benutze deinen tatsächlichen Benutzernamen und nicht username

Selbes Problem hier. Obwohl ich Sudo-Berechtigungen auf dem Remote-Computer habe, auf dem Docker ausgeführt wird, scheint es irgendwie falsch zu sein, mit der Remote-Sudoers-Konfiguration herumzuspielen, um eine lokale Docker-Computer-Konfiguration zu erstellen.

Ähnliches Problem. Beim Erstellen für AWS ist der standardmäßige Docker-Machine-SSH-Benutzer _ubuntu_. Ich versuche, entweder einen anderen sudo-Benutzer zu erstellen (etwas freundlicheres wie _demouser_) oder den _ubuntu_-Benutzer umzubenennen, nachdem ich die Remote-VM erstellt habe.

In beiden Fällen können Sie ähnliche Anweisungen (oder ein Skript) wie von https://askubuntu.com/questions/34074/how-do-i-change-my-username verwenden. In einer Nussschale:

  • Neuen oder temporären Sudo-Benutzer hinzufügen
  • Optional:

    • Melden Sie sich als neuer/temporärer Benutzer an und ändern Sie den Namen/das Home-Verzeichnis des _ubuntu_-Benutzers

Beide Schritte haben das gleiche Problem, der neue Benutzer oder der _geänderte_ "ubuntu"-Benutzer erfordert, dass Sie ein Passwort angeben, damit sudo funktioniert. Es sei denn, Sie bearbeiten die sudoers-Datei, um die Option nopasswd einzurichten. Es gibt eine geheime Sauce mit dem ursprünglichen "ubuntu" (Standard)-Benutzer, die ein passwortloses Sudo trotz keiner zusätzlichen Konfiguration in Sudoern ermöglicht.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen