Bash-Skript zum Ändern von Permissions

Post Reply
Message
Author
Thomas

Bash-Skript zum Ändern von Permissions

#1 Post by Thomas »

Ich habe folgendes Skipt geschrieben, um allen Dateien (ausser Directories) in einem Directory die Defaultpermissions 644 zu geben:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
for file in $(ls -1); do if [ ! -d "$file" ]; then chmod 644 "$file"; fi; done
</font><hr></pre></blockquote>

Wie kann ich nun dieses Skript anpassen, dass s&#228;mtliche Dateien in allen Unterverzeichnissen bearbeitet werden. Mit $(ls -1R) geht es leider nicht, dies gibt nicht den effektiven Path der Datei.

Vielen Dank,
Thomas

Michael

Re: Bash-Skript zum Ändern von Permissions

#2 Post by Michael »

Das geht so<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">find . -type f -exec chmod 644 "{}" ";"</font><hr></pre></blockquote>, wenn Du Dich im Verzeichnis befindest, wo die Files und die Subdirs liegen.

Cheers

Michael

Thomas

Re: Bash-Skript zum Ändern von Permissions

#3 Post by Thomas »

Danke fuer deine Antwort, aber da scheint etwas nicht zu stimmen, auch Directories bekommen dann 644 als Permissions. Mit

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>

kann es aber wieder rueckgaengig gemacht werden. Koennte es evtl. mit xargs und einem Test auf Bash-Basis

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>

funktionieren?

Danke,
Thomas

Descartes

Re: Bash-Skript zum Ändern von Permissions

#4 Post by Descartes »

das geht doch so:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 {} \<!--no-->;

oder falls der Pfad/Dateiname vielleicht auch Leerzeichen enthalten könnte:

find . -type d -print0 | xargs -0 chmod 0755
</font><hr></pre></blockquote>

Jochen

Re: Bash-Skript zum Ändern von Permissions

#5 Post by Jochen »

> Danke fuer deine Antwort, aber da scheint etwas nicht zu stimmen, auch Directories bekommen dann 644 als Permissions

Ich denke, Du hast Dich vielleicht vertippt?... Michael hat Dir nämlich das korrekte Kommando gegeben:<pre>find . -type f -exec chmod 644 {} \<!--no-->;</pre>Wenn man den Rechner etwas schonen will, kann man es auch mit xargs machen, wie Descartes gepostet hat:<pre>find . -type f -print0 | xargs -0 chmod 644</pre>

Jochen

Thomas

Re: Bash-Skript zum Ändern von Permissions

#6 Post by Thomas »

Danke, mit xargs klappt es. Ich glaube das Problem war, dass die Pfade zum Teil Sonder- und Leerzeichen beeinhalten.

Gruss,
Thomas

Post Reply