chmod nur für Verzeichnisse

Post Reply
Message
Author
thomas

chmod nur für Verzeichnisse

#1 Post by thomas »

Hallo alle zusammen,

Habe vielleicht eine blöde Frage, aber ich komm nicht drauf.
Das Problem ist ich möchte die Zugriffrechte für ein Verzeichnis mit allen Unterverzeichnissen ändern.
Mit dem Befehl:

chmod -R 0700 *

z.B. werden dann die Rechte für alle Verzeichnisse und Dateien rekursiv geändert.
Ich möchte nun aber die Rechte der Dateien unangetastet lassen.
Kann nun aber nirgendwo etwas finden wie ich die Dateien aussen vor lasse.
Unter DOS gibts es z.B. für den Befehl 'dir' die option '/ad' um die Verzeichnisse heraus zu filtern.
Weiss jemand wie das funzt?
Wäre echt genial wenn mir jemand weiterhelfen könnte.
Dank im voraus.

Jochen

Re: chmod nur für Verzeichnisse

#2 Post by Jochen »

Für solche Zwecke ist die find/xargs-Kombo nicht zu schlagen...

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">cd /mein/dir
find . -type d -print | xargs chmod 700</font><hr></pre></blockquote>

find liefert ab /mein/dir alle Verzeichnisse (-type d) und gibt sie in die Pipe aud (-print) zum xargs, der aus den Namen und dem Kommando "chmod 700" eine riesige Kommandozeile baut und abschickt.

War's das?

Jochen

Re: chmod nur für Verzeichnisse

#3 Post by Jochen »

Für solche Zwecke ist die find/xargs-Kombo nicht zu schlagen...

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">cd /mein/dir
find . -type d -print | xargs chmod 700</font><hr></pre></blockquote>

find liefert ab /mein/dir alle Verzeichnisse (-type d) und gibt sie in die Pipe aud (-print) zum xargs, der aus den Namen und dem Kommando "chmod 700" eine riesige Kommandozeile baut und abschickt.

War's das?

thomas

Re: chmod nur für Verzeichnisse

#4 Post by thomas »

Hallo Jochen,

Vielen Dank für den Tip.
Werd's ausporbieren und melde mich dann wieder.

thomas

thomas

Re: chmod nur für Verzeichnisse

#5 Post by thomas »

Hey nochmal,

Funzt prima, danke nochmal.
Ist ja ne tolle Sache mit den xargs.
Noch eine Frage, warum muss in den Befehl der Parameter '-R' drausbleiben?

thomas

cerberusger
Posts: 348
Joined: 28. Dec 2000 13:30
Location: Muenchen

Re: chmod nur für Verzeichnisse

#6 Post by cerberusger »

na, weil xargs eine riesen kette baut:

chmod 700 /meindir /meindir/dubdir1 /meindir/subdir2 /meindir/subdir2/subsubdir1 ... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Linux is a wigwam - no windows, no gates, apache inside <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

thomas

Re: chmod nur für Verzeichnisse

#7 Post by thomas »

Ist ja der höllen Wahnsinn.
Thank's für die prompte Antwort.

thomas

Jochen

Re: chmod nur für Verzeichnisse

#8 Post by Jochen »

Nur noch als Kommentar: Genau wegen dieses Problems ist -R beim chmod total nutzlos, aber dafür wenigstens gefährlich. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

muehle
Posts: 48
Joined: 08. May 2001 13:05
Location: Coswig

Re: chmod nur für Verzeichnisse

#9 Post by muehle »

Hallo ,
es geht aber auch mit
find . -type d -exec chmod 700 {} ;<!--no-->

muehle
Posts: 48
Joined: 08. May 2001 13:05
Location: Coswig

Re: chmod nur für Verzeichnisse

#10 Post by muehle »

Sorry ,
habe vergessen den Backslash zu maskieren <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> . Es muß

find . -type d -exec chmod 700 {} \<!--no-->; heißen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

bis denne Thomas

thomas

Re: chmod nur für Verzeichnisse

#11 Post by thomas »

Von thomas an Thomas , <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Also zuerst mal Danke fuer den Tip, werd ich gleich mal testen.
Kannst du mir auch noch kurz erklaeren wie der Befehl funktioniert.
z.B.
was macht der Parameter '-exec' bzw. wozu die Klammern '{}' und der Backslash '\'.
Ich weiss das sind ne Menge Fragen aber ich moechte auch verstehen koennen was das Teil macht.
Einfach den Befehl einzugeben und sich zu freuen das es funzt ist ja nicht im Sinne der Sache.
Oder?

gruss thomas

muehle
Posts: 48
Joined: 08. May 2001 13:05
Location: Coswig

Re: chmod nur für Verzeichnisse

#12 Post by muehle »

Von Thomas an thomas <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
mit -exec wird das nachfolgende Kommando ausgeführt , wenn dieses einen Status null liefert . Alle nachfolgenden Argumente werden als Kommandozeilenargumente interpretiert (bis zum Semikolon). Die Klammern werden durch den gefundenen Pfadnamen ersetzt . Mit dem Backslash wird für find quotiert , damit die Kommandozeilenargumente nicht von der Shell bearbeitet werden . Du kannst das alles aber mit "man find" nochmal nachlesen . Ich kann verstehen das Du verstehen willst was das Teil macht und hoffe die Erklärung hilft Dir weiter <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Ansonsten frag ruhig .

bis denne Thomas <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Last edited by muehle on 17. May 2001 10:13, edited 1 time in total.

thomas

Re: chmod nur für Verzeichnisse

#13 Post by thomas »

Hi Thomas,

Ich nochmal.
Find ich echt super das du dir die Zeit genommen hast mir prompt eine Kurz-Info zu geben. Das Problem ist das die man-Pages fast immer in Neudeutsch sind. Meine Kenntnisse in English sind leider mittel- bis saumaessig. Aber ich denke mal das sich dies beheben laesst.

gruss thomas <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

muehle
Posts: 48
Joined: 08. May 2001 13:05
Location: Coswig

Re: chmod nur für Verzeichnisse

#14 Post by muehle »

Hallo thomas ,
ist doch keine Frage <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Wozu ist das Forum sonst da !?

bis denne man liest sich

Thomas <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Post Reply