Unix-Dateiberechtigungen wieder herstellen

Wenn man nicht aufpasst, schießt man sich (im übertragenen Sinn natürlich) eventuell in den Fuß. An der falschen Stelle ein

chmod a+r *

führt dann leider unter Umständen zu einem kaputten /etc-Verzeichnis. Glücklich ist, wer dann eine Datensicherung hat. Allerdings will man unter Umständen ja nicht die „alten“ Daten zurückkopieren, sondern nur die Berechtigungen rekonstruieren. Aus der Datensicherung spielt man das Verzeichnis dann ggf. in ein temporäres Verzeichnis zurück und führt in selbigen

find . -printf 'chmod %m %p\n' > /var/tmp/fix_permissions.sh

aus. Dann wechselt man (in meinem Fall nach /etc) und führt das Script dort aus:

cd /etc
/var/tmp/fix_permissions.sh

Bleibt noch zu erwähnen: Das funktioniert nur mit Standard-Unix-Berechtigungen. Wenn man Posix-ACLs verwendet, muss man ggf. selbige im Anschluss korrigieren. Wie das funktioniert werde ich später mal erklären.

Und bevor ich es vergesse: Sorgt dafür, dass ihr eine funktionierende Datensicherung habt und verschlüsselt die immer gut 😉