PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : recursives chmod auf verzeichnisse...



Tosk
18-06-2001, 08:15
hallo freunde,

kann mir vielleicht jemand einen tip geben, bevor ich zuviel zeit verliere?

ich habe ein verzeichnis, welches neben vielen dokumenten (0600) auch unterverzeichnisse enthält, welche wiederum dokumente und unterverzeichnisse entält...

nun möchte ich die dokumente mit lese- und schreibrechten versehen, die verzeichnisse zusätzlich mit ausführungsrechten...

zunächst kann ich ja alles auf lesen und schreiben setzen
chmod -Rv 0600 myDir

dann würde ich gern durch ein rekursives shellskript die unterverzeichnisse aussuchen und auf 0700 setzen... nur leider fehlt mir die funktion, die nur und ausschließlich unterverzeichnisse eines verzeichnisses anzeigt (habe ich auch mit ls nicht hinbekommen)...

kann mir jemand helfen? dankeschön!

Tosk

thommy
18-06-2001, 09:11
Vielleicht hilft Dir ein kleines Skript. Im Beispiel habe ich "echo..." anstatt von chmod verwendet, aber das Prinzip sollte klar sein:

<pre>
cd ${1:-./}

for i in `ls`; do
test -d $i && { echo "$i ist ein Verzeichnis"; $0 $i; }
test -f $i && echo "$i ist eine normale Datei"
done
</pre>

Das Skript muss mit vollständiger Pfadangabe gestartet werden; eine Erweiterung auf relative Namen ist die heutige Hausaufgabe ;)

Thomas

micha
18-06-2001, 12:26
Hallole,

mit find gehts auch:



chmod 0700 $(find ./ -type d)
chmod 0600 $(find ./ ! -type d)


Gruß micha