it-swarm.com.de

sudo wird gelöscht

Wie kann ich das Paket Sudo installieren?

$ apt-get install Sudo
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?
11
Kaliya Mitesh

Wenn Sie den Befehl Sudo tatsächlich gelöscht haben, können Sie das Paket, das ihn bereitstellt, neu installieren, indem Sie Folgendes ausführen:

pkexec apt-get update
pkexec apt-get --reinstall install Sudo

Dies funktioniert, weil die meisten Ubuntu-Systeme über zwei separate Methoden verfügen, mit denen Administratoren Aktionen als root ausführen können: Sudo und Polkit . Wenn Sudo kaputt ist, ist Polkit normalerweise noch intakt.

Dazu müssen Sie natürlich als Administrator angemeldet sein. Wenn Sie ein Konto verwenden, das Sudo verwenden durfte (damals, als Sudo auf dem System vorhanden war), sollte dies problemlos funktionieren.

Auf einem Minimalsystem oder einem Ubuntu-Serversystem ist Polkit möglicherweise nicht verfügbar, und bei einigen Konfigurationen können Sie den Befehl pkexec nicht über eine SSH-Sitzung ausführen.


Sie haben angegeben dass pkexec, obwohl nicht wie Sudo gelöscht, auch defekt ist. Insbesondere auf Ihrem System hat es den falschen Besitz oder die falschen Berechtigungen. Es soll setuid root sein, ist es aber nicht und kann daher nicht verwendet werden.

Es wäre nützlich zu wissen wie /usr/bin/Sudo gelöscht wurde und wie die Berechtigungen (oder der Besitz) von /usr/bin/pkexec geändert wurden. Dies sind zwei scheinbar getrennte grundlegende Änderungen an Ihrem System. Wenn ein rekursiver (-R) chown oder chmod für /, /usr oder /usr/bin ausgeführt wurde, würde dies erklären, wie pkexecs Berechtigungen wurden geändert, und ein entsprechender Fix würde mehr bewirken, als sie nur für diese eine ausführbare Datei zurückzusetzen.

Wenn die einzigen zwei Probleme mit Ihrem System sind, dass Sudo fehlt und pkexec falsche Berechtigungen oder Besitzrechte hat, dies ist immer noch leicht zu beheben , werden Sie es trotzdem tun müssen in den Wiederherstellungsmodus neu starten oder aus einer Live-Umgebung chroot-in. Ich empfehle den Wiederherstellungsmodus.

  1. Im Wiederherstellungsmodus starten.
  2. Aktivieren Sie / erneut, indem Sie Folgendes ausführen: mount -o remount,rw /
  3. Stellen Sie sicher, dass pkexec den richtigen Eigentümer hat: chown root:root /usr/bin/pkexec
  4. Korrigieren Sie die Berechtigungen von pkexec: chmod 4755 /usr/bin/pkexec
  5. Starten Sie Ihr System (exit und befolgen Sie die Anweisungen) oder starten Sie es mit reboot neu.
  6. Befolgen Sie die obigen Anweisungen zum erneuten Installieren des Pakets Sudo, indem Sie apt-get mit pkexec ausführen.

Dies hat den Vorteil, dass Sie feststellen können, ob im Wiederherstellungsmodus eine Internetverbindung verfügbar ist, ohne dass Sie .deb -Dateien herunterladen und manuell installieren müssen. Mit --reinstall ersetzt apt-get alle Paketdateien für Sudo, wodurch zusätzliche Probleme behoben werden können. Außerdem wird dadurch auch Ihr defektes pkexec behoben.

Dies ist jedoch nicht der einzige Ansatz. Insbesondere sollte auch die in San Lin Naings Antwort angegebene Methode funktionieren. Der Hauptunterschied besteht darin, dass in der hier angegebenen Methode keine Paketverwaltungsvorgänge in der Chroot ausgeführt werden, die nur zum Reparieren von pkexec verwendet werden, sodass Pakete beim normalen Booten verwaltet werden können.

20
Eliah Kagan

ja, ich habe die Sudo-Datei versehentlich gelöscht. Die Ausgabe von ls -l/usr/bin/Sudo kann nicht auf '/ usr/bin/Sudo' zugreifen: Keine solche Datei oder kein solches Verzeichnis

Nur ein Gedanke:

Sie haben noch das Medium (DVD/USB-Stick), von dem Sie Ubuntu auf Ihrem System installiert haben?

  1. Booten Sie von dort und hängen Sie die Systempartition Ihres PCs ein.
  2. Kopieren Sie /usr/bin/Sudo vom Live-System auf die gemountete Partition.
  3. Überprüfen Sie, ob der Eigentümer und die Berechtigungen der Datei identisch sind.
  4. Starten Sie Ihr System neu.
2
Timothy Truckle

Sie benötigen die Berechtigung root, um Software zu installieren. Sie haben jedoch das Paket Sudo gelöscht.

Wenn Sie Zugriff als root haben, können Sie Sudo möglicherweise erneut installieren.

Verweis auf diese Antwort .

Versuchen Sie, mit bash mode mit root user zu beginnen.

  1. Starten Sie Ihr System neu.
  2. Halten Sie die Taste Shift oder Esc gedrückt.
  3. Wählen Sie Advanced options for Ubuntu.
  4. Wählen Sie Ubuntu, with Linux x.x.x-xx-generic (recovery mode).
  5. Wähle root Drop to root Shell Prompt
  6. Geben Sie den Befehl mount -o rw,remount / ein, um Lese- und Schreibzugriff zu erhalten.
  7. Geben Sie apt install Sudo ein. Folgen Sie den Anweisungen auf dem Bildschirm.

Wenn die Installation abgeschlossen ist, ist es geschafft!

Wenn nicht , muss möglicherweise eine Netzwerkverbindung hergestellt werden.

Ermöglicht den Neustart des Systems zum normalen Booten und Herunterladen der erforderlichen Dateien. In diesem Fall wechselt Ctrl + D erneut zur Menüseite und wählt resume. Dies geht zum normalen Booten über.

Möglicherweise müssen Sie Sudo offline installieren. Dies kann eine andere Forschung sein. Hier Sie können .deb Paket finden. Sie können mit Ihrer Betriebssystemversion herunterladen. Laden Sie Ihre Datei mit dem Namen Sudo_1.8.19-3_xxxx.deb herunter. Und dann erinnere dich an deinen Download file path.

Starten Sie Ihr System in bash mode (recovery mode) erneut und befolgen Sie die 1-6 Schritte.

Und dann dpkg -i *file_path/Sudo_1.8.19-3_xxxx.deb. Dadurch wird Sudo installiert. Fertig! Ctrl + D und wählen Sie resume für den normalen Start.

Getan!

2
San Lin Naing

Sie können Sudo aus dem Quellcode erstellen

mkdir Sudo-src
cd Sudo-src
apt-get source Sudo
cd Sudo-x.y.z
./configure --prefix=$HOME
make
make install
0
GAD3R

Vielleicht könnten Sie Ihr System über Grub in den Wiederherstellungsmodus booten. Von dort aus können Sie versuchen, die Systemintegration über dpkg zu überprüfen, wodurch Sie möglicherweise Ihr Problem lösen können. Da Ihre Partition anschließend mit Lese-/Schreibberechtigungen bereitgestellt wurde, können Sie Sudo auch ohne den Befehl Sudo mithilfe des Stammmenüeintrags installieren. Sie sollten über apt-get aktualisieren und möglicherweise zuerst die Verwendung von apt-get install -f und dpkg --configure -a versuchen.

0
starkus