GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

/etc/sudoers kann nicht angezeigt werden:Keine solche Datei oder Verzeichnis?

Ich habe erst kürzlich Ubuntu 14.04 verwendet. Und irgendwie habe ich die Berechtigung auf /etc/sudoers geändert Datei. Jedes Mal, wenn ich einen Befehl mit sudo ausführe, erhalte ich diese Fehler:

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Ich konnte mich als Benutzer anmelden und die Berechtigungen zurück ändern. Also jetzt, wenn ich ls -l /etc/sudoers ausführe Befehl bekomme ich:

-r--r----- 1 root root 755 жов 14  2016 /etc/sudoers

Aber ich war nicht in der Lage, root zu einem Besitzer zu machen. Und ich erhalte immer noch die gleichen Fehler, wenn ich versuche, sudo zu verwenden.

Ich habe viele beängstigende Dinge über dieses Problem gelesen. Könnten Sie mir also helfen, dieses Problem zu lösen? Für Tipps wäre ich sehr dankbar.

Akzeptierte Antwort:

Verknüpfung:

dpkg-reconfigure: Wenn nur etwas mit der Erlaubnis von /etc/sudoers nicht stimmt Datei, mit Root-Zugriff ausführen:dpkg-reconfigure sudo . etwas wie pkexec dpkg-reconfigure sudo sollte die Arbeit erledigen.

visudo: Wenn dpkg-reconfigure nicht funktioniert, dann führen Sie einfach pkexec visudo aus , die sudoers Datei wird in einem Editor geöffnet, dann speichern und schließen Sie einfach die Datei, visudo wird die Berechtigung für Sie reparieren.

Immerhin, wenn Sie sudoers.d geändert haben auch Verzeichnisberechtigungen, dann führe aus:

pkexec chmod 755 /etc/sudoers.d

Wenn Dateien vorhanden sind und ihre Berechtigungen so sind, wie sie sein sollten, aber Sie immer noch diese Fehlermeldung erhalten, ist die einzige Möglichkeit, die mir in den Sinn kommt, dass Sie andere Berechtigungen und sudo verletzt haben hat keinen Zugriff auf /etc/sudoers . Die wahrscheinlichste Vermutung sind Berechtigungen von /etc/ .

Führen Sie also Folgendes aus:

pkexec chmod 755 /etc

Wir sind jedoch fertig, wenn Sie eine detaillierte Anleitung zum Wiederherstellen defekter oder entfernter sudoers wünschen Datei mit durcheinandergebrachten Berechtigungen folgen, wir werden einen anderen Weg verwenden, um die Dinge zu beheben.

Einführung

Ich habe in meiner /etc/sudoers herumgespielt Datei, um einen ähnlichen Fehler wie Sie zu erhalten. Ich bin sehr nah dran, also lösche ich meine komplett und sie ist genau wie deine geworden.

Was ich getan habe, um das Problem zu beheben:

Mein Root-Konto war gesperrt und hatte kein Passwort, daher war es mir unmöglich, das zu tun, was ich tun wollte. Wenn Ihr Root-Konto jedoch aktiv ist und ein Passwort hat, wechseln Sie mit su - zum Root-Benutzer und überspringen Sie diesen Teil. Wenn nicht, befolgen Sie die Anweisungen.

Bevor ich fortfahre, muss ich erwähnen, dass Sie immer eine Live-Festplatte verwenden können, um eine chroot durchzuführen in Ihr System, gibt es eine Menge Anweisungen über Chroot mit einer Live-Festplatte, also werde ich mich nicht darum kümmern, all diese Anweisungen noch einmal zu geben, stattdessen gehe ich davon aus, dass wir keine Live-Festplatte haben und wir haben verwenden, was wir bereits haben, um dieses Problem zu beheben. Wenn Sie mit cheroot zufrieden sind Gehen Sie so, das würde auch funktionieren.

Root-Zugriff erhalten

  • Starten Sie Ihr System neu
  • Wenn Grub erscheint, drücken Sie e um es zu bearbeiten
  • Fügen Sie am Ende der Zeile, die mit linux beginnt, init=/bin/bash hinzu
  • Drücken Sie STRG +X
Verwandte:Wie kann man das Menü „Orte“ der Ubuntu 13.04-Anwendung „Dateien“ anpassen (Ordner/Verzeichnisse hinzufügen/entfernen)?

Jetzt werden Sie in eine Bash-Shell mit Root-Zugriff versetzt. Mounten Sie zuerst das Dateisystem mit Schreibzugriff neu:

mount -o remount,rw /

Entsperren Sie dann den Root-Benutzer und legen Sie ein Passwort fest:

passwd -u root
passwd root

Wenn nun Ihre /etc/sudoers existiert noch auf /etc , verschieben Sie es woanders hin:

mv /etc/sudoers /etc/sudoers.broken

Weil wir unserem Paketmanager sagen werden, dass diese Datei fehlt, und er wird sie für uns durch eine korrekte ersetzen, also sollte sie nicht da sein.

Wir sind fast fertig, starten Sie Ihr System neu. Melden Sie sich als Ihr normaler Benutzer an, öffnen Sie ein Terminal und versuchen Sie es mit su - zum Root-Benutzer wechseln. Ich konnte das nicht, also habe ich CTRL verwendet +ALT +F1 , um in tty1 zu gehen , dann habe ich mich mit dem neuen Passwort, das wir gerade festgelegt haben, als root angemeldet.

Sudoer zurückbringen

Wir sollten einfach das sudo neu installieren Paket, aber eine Neuinstallation bringt diese Datei nicht zurück, wir sollten das dpkg mitteilen um auch die fehlenden Konfigurationsdateien zu reparieren, so:

apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo

Denken Sie daran, dass Sie nach der Installation von /etc/sudoers gefragt werden Datei, indem Sie y einfügen sag ja.

Wenn es bei Ihnen nicht funktioniert hat, gehen Sie als root wie folgt vor:

mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp

Jetzt kann es einige Unterschiede zwischen den Berechtigungen geben, führen Sie dpkg-reconfigure sudo aus etwas reparieren. Wenn es nicht funktioniert hat, führen Sie visudo aus als Root-Benutzer die sudoers Datei wird in einem Editor geöffnet, dann speichern und schließen Sie einfach die Datei, visudo wird die Berechtigung für Sie reparieren.

Wenn alles gut geht, ist Ihre sudoers-Datei wieder da und Sie können sudo wie zuvor verwenden.


Ubuntu
  1. Fehler in Sudoers-Datei? So können Sie es beheben.

  2. Wie wird /etc/motd aktualisiert?

  3. Fix ::Datei öffnen /home/user/etc/domainname/passwd fehlgeschlagen mit Fehler keine solche Datei oder Verzeichnis

  4. Verstehen des Verzeichnisses /etc/xinetd.d unter Linux

  5. Verstehen des Verzeichnisses /etc/sysconfig

Debian – -bash:/usr/bin/nano:Keine solche Datei oder Verzeichnis?

Kubuntu zeigt Fehler beim Login (file:///usr/share/sddm//themes/breeze/main.qml:no Such File or Directory)?

So deaktivieren Sie „sudo su“ für Benutzer in der sudoers-Konfigurationsdatei

CentOS / RHEL:So stellen Sie eine gelöschte /etc/passwd-Datei wieder her

-bash:/usr/bin/virtualenvwrapper.sh:Keine solche Datei oder Verzeichnis

Ich habe meine /etc/sudoers-Datei auf Amazon EC2 beschädigt