Wie setze ich die Standardberechtigungen für / etc zurück?


8

Ich habe versehentlich Berechtigungsänderungen für vorgenommen /etc. Jetzt gibt es mir die folgende Fehlermeldung:

bash: /etc/bash.bashrc: Permission denied  
I have no name!@chandan-Inspiron-5520:~$ sudo /etc/init.d/apache2 restart  
sudo: unable to stat /etc/sudoers: Permission denied  
sudo: no valid sudoers sources found, quitting  
sudo: unable to initialize policy plugin  

Antworten:


7

Was ich tun würde :

$ sudo su
chown -R root:root /etc
find /etc -type f -exec chmod 644 {} +
find /etc -type d -exec chmod 755 {} +
chmod 755 /etc/init.d/* /etc/rc.local /etc/network/* /etc/cron.*/*
chmod 400 /etc/ssh/ssh*key

Vielleicht reicht es nicht aus, aber ohne Backup ist das ein guter Anfang.


5

Als nächsten Schritt nach der Empfehlung von sputnik können Sie Folgendes tun: Führen Sie bei einer Neuinstallation eines Ubuntu-Servers mit derselben Version wie Ihr defekter Server Folgendes aus:

find /etc -type f -executable | awk '{printf("chmod a+x %s\n",$0);}' > setexec.sh

Importieren Sie dann das Skript setexec.sh (mit wget oder ftp) und führen Sie es auf dem defekten Server aus. In Ubuntu 13.04 wurden durch diesen Schritt die meisten Funktionen wiederhergestellt.


Hier ist eine Liste von meinem Desktop: askubuntu.com/questions/508359/…
Rinzwind

1
Vielen Dank für diese Idee. Ich habe eine Variante davon verwendet, um alle Berechtigungen zu kopieren, nicht nur das Ausführungsbit:find /etc/ -exec stat -c "chmod %a %n" '{}' \; > setperms.sh
Dave James Miller
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.