-bash: sudo: Befehl nicht gefunden

63

Ich versuche, die Django-App bereitzustellen. Wenn ich drucke, apt-get update sehe ich

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied)
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Wenn ich drucke, sudo apt-get update sehe ich

-bash: sudo: command not found

Ich habe versucht, sustatt zu verwenden sudo. Aber es ist merkwürdig. Zum Beispiel su apt-get update drucke ich Und nichts passiert Ich sehe nur eine neue Zeile,

(uiserver):u78600811:~$ su apt-get update
(uiserver):u78600811:~$

Das gleiche gilt, wenn ich versuche, einige Pakete zu installieren. Was mache ich?

Wenn es nützliche Informationen gibt - ich benutze Debian

(uiserver):u87600811:~$ uname -a
Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux
user2950593
quelle
Ist dies ein Kundenkonto auf einem kommerziellen Server?
Tomasz
@tomas yeah ////
user2950593
1
Wenn Sie den Server nicht besitzen, warum haben Sie dann das Recht, Software zu installieren oder zu entfernen? fragen Sie den Administrator
Shadur
Was passiert, wenn du rennst apt-cache policy sudo? Nicht alle Linux-Distributionen installieren sudo standardmäßig (Debian beispielsweise installiert sudo nur dann, wenn Sie bei der Installation kein root-Passwort angeben). Sie können apt-cache ohne root-Rechte ausführen.
Rosuav

Antworten:

79

Standardmäßig ist sudo nicht auf Debian installiert, aber Sie können es installieren. Aktivieren Sie zuerst den su-Modus:
su -

Installieren Sie sudo, indem Sie Folgendes ausführen:
apt-get install sudo -y

Danach müssten Sie mit Benutzern und Berechtigungen herumspielen. Geben Sie Ihrem eigenen Benutzer das Recht sudo.

usermod -aG sudo yourusername

Stellen Sie sicher, dass in Ihrer sudoers-Datei eine sudo-Gruppe hinzugefügt wurde. Führen
visudoSie Folgendes aus, um die sudoers-Datei zu ändern und die folgende Zeile hinzuzufügen (falls sie fehlt):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Sie müssen sich neu anmelden oder das Gerät neu starten, damit die Änderungen wirksam werden.

Maksim Luzik
quelle
3
Dies sollte als Antwort akzeptiert werden, dies löste mein Problem
Callat
Ich erhalte die Meldung "su: Ihr Benutzername kann nicht ermittelt werden." on doing su -
user674669
@ user674669 hast du diesen Beitrag überprüft: serverfault.com/questions/816969/… ?
Maksim Luzik
Vielen Dank @MaksimLuzik. Meins ist ein Hafencontainer. Die Ideen auf dieser Seite sind nicht hilfreich für mich. Vielleicht sollte ich eine separate Frage stellen.
user674669
19

Da es sich um einen kommerziellen Server handelt, haben Sie keinen Zugriff auf das Root-Konto und können nicht mit Root-Berechtigungen arbeiten. Dies bedeutet, dass Sie keine sudoPakete ausführen oder installieren können. Was Sie versuchen können, ist:

  • Überprüfen Sie, ob Sie Zugriff auf einen Compiler haben, und kompilieren Sie die gewünschten Informationen für sich und in Ihrem privaten Bereich.

  • Überprüfen Sie, ob Sie eine virtuelle Maschine ausführen können. Auf diese Weise können Sie möglicherweise Ihre private Instanz eines Betriebssystems ausführen, auf dem Sie Pakete installieren würden.

Tomasz
quelle
12

suund sudosind zwei verschiedene, aber verwandte Befehle. Es ist ungewöhnlich, dass Sie das Programm sudonicht installieren, es befindet sich jedoch möglicherweise nicht in Ihrem Pfad. Versuchen Sie es /usr/bin/sudo command.

Wenn es in der Tat sudonicht verfügbar ist, müssen Sie, wie Sie vermutet haben, verwenden su, aber es funktioniert nicht auf die gleiche Weise wie sudo. Der einfachste Weg, es zu benutzen, ist einfach auszuführen:

su -

Daraufhin werden Sie nach dem rootKennwort des Benutzers gefragt. An diesem Punkt sollten Sie sich wahrscheinlich apt install sudovon der Root-Shell abmelden und dann wie gewohnt fortfahren.

Beachten Sie, dass Sie im Gegensatz zu sudo, wenn Sie nach Ihrem Passwort gefragt werden, nach dem Passwort suvon root gefragt werden .

DopeGhoti
quelle
wenn ich su schreibe, passiert nichts - nur eine neue Zeile
user2950593 30.03.17
3
Dann bist du wahrscheinlich schon root. Überprüfen Sie mit whoami. Wenn Sie root sind, apt install sudowie beschrieben.
DopeGhoti
(uiserver): u78600811: ~ $ apt install sudo
user2950593
1
W: /etc/apt/apt.conf.d/ kann nicht gelesen werden. - DirectoryExists (13: Berechtigung verweigert) E: Sperrdatei / var / lib / dpkg / lock - open konnte nicht geöffnet werden. (13: Berechtigung verweigert) E: Nicht möglich Sind Sie root, um das Administrationsverzeichnis (/ var / lib / dpkg /) zu sperren?
user2950593
1
Je nachdem was eingestellt PS1ist.
DopeGhoti