CHMOD Script - Ideen gesucht
Hallo,
wir haben einen SLES 10 Server, welche dummerweise 777 Berechtigungen auf verschieden Ordner zugewiesen bekommen hat.
Wie auch immer das passieren konnte, ich weiß es nicht!
Nun möchte ich natürlich die richtigen Default-Berechtigungen wieder herstellen.
Meine Idee, ich setze eine neuen TEST SLES 10 auf und mounte z.B. das sbin Verzeichnis vom TEST SLES auf den produktiven SLES als test_sbin.
Nun brauche ich ein Script, welches Datei für Datei im Ordner test_sbin die Berechtigung überprüft und diese im original Ordner sbin wieder herstellt.
Ist das irgendwie möglich? Leider bin ich kein Bash Profi und habe keinen Schimmer, wie ich das Programmieren könnte.
Für Ideen und Vorschläge wäre ich sehr dankbar.
Gruß
ottscho
wir haben einen SLES 10 Server, welche dummerweise 777 Berechtigungen auf verschieden Ordner zugewiesen bekommen hat.
Wie auch immer das passieren konnte, ich weiß es nicht!
Nun möchte ich natürlich die richtigen Default-Berechtigungen wieder herstellen.
Meine Idee, ich setze eine neuen TEST SLES 10 auf und mounte z.B. das sbin Verzeichnis vom TEST SLES auf den produktiven SLES als test_sbin.
Nun brauche ich ein Script, welches Datei für Datei im Ordner test_sbin die Berechtigung überprüft und diese im original Ordner sbin wieder herstellt.
Ist das irgendwie möglich? Leider bin ich kein Bash Profi und habe keinen Schimmer, wie ich das Programmieren könnte.
Für Ideen und Vorschläge wäre ich sehr dankbar.
Gruß
ottscho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136778
Url: https://administrator.de/contentid/136778
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
11 Kommentare
Neuester Kommentar
Wenn der chmod überhaupt noch funktioniert, dann ... :
Aus dem Bauch heraus (NICHT GETESTET!!!)
Der Befehl chmod hat eine Option '--reference=<DATEI>'
Damit können die Rechte einer Datei genauso wie die der Referenzdatei gesetzt werden.
EDIT: Hab noch das Logging hinzu gefügt
EDIT2: Änderung wegen Verzeichniswechsel <25.2.10 10:03>
Aus dem Bauch heraus (NICHT GETESTET!!!)
Der Befehl chmod hat eine Option '--reference=<DATEI>'
Damit können die Rechte einer Datei genauso wie die der Referenzdatei gesetzt werden.
#!/bin/sh
# Variablen fuer die Verzeichnisse + Log-Datei
test=/test_sbin
orig=/sbin
log=/tmp/chmod.log
cd $orig
# jede Datei anfassen und
# testen ob die Vergleichsdatei da ist
# Wenn nicht, Dateinamen in Log-datei
# Rechte setzen wie die Originaldatei
for i in *; do
[ -e $test/$i ] && {
chmod --reference=$test/$i $i
} || {
echo $i >> $log
}
done
EDIT: Hab noch das Logging hinzu gefügt
EDIT2: Änderung wegen Verzeichniswechsel <25.2.10 10:03>