# Wie chmod nur auf Ordner ?

## Serapio

Kann man den chmod-Befehl auch nur auf Ordner anwenden lassen ? Bei vielen CMS-Systemen hat man ja eine Fülle an Dateien und Ordnern, bei denen alle Dateirechte auf 644 und die Ordnerrechte auf 755 gesetzt werden müssen.

Die Dateirechte setzt man mit chmod -R 644 /Pfad, aber wie setzte ich einen Befehl ab, der alle Ordner auf 777 setzt, ohne die Rechte der enthaltenen Dateien anzutasten ?

----------

## Polynomial-C

```
find /Pfad -type d | xargs chmod -v 0777
```

----------

## 76062563

chmod +X setzt Ordner auf ausführbar und lässt ausführbare Dateien ausführbar. Nicht ausführbare Dateien werden ignoriert.

Beachte: großes X

----------

## schachti

 *Polynomial-C wrote:*   

> 
> 
> ```
> find /Pfad -type d | xargs chmod -v 0777
> ```
> ...

 

Das kann find doch selbst:

```

find /Pfad -type d -exec chmod -v 0777 {} \;

```

----------

## musv

 *schachti wrote:*   

>  *Polynomial-C wrote:*   
> 
> ```
> find /Pfad -type d | xargs chmod -v 0777
> ```
> ...

 

Der Unterschied zwischen beiden Varianten ist, daß xargs soviele Argumente wie möglich an chmod übergibt, während find jedesmal den chmod-Befehl aufs Neue aufruft. Im Klartext: Die Xargs-Variante sollte wesentlich schneller sein.

----------

## mv

 *musv wrote:*   

> Der Unterschied zwischen beiden Varianten ist, daß xargs soviele Argumente wie möglich an chmod übergibt, während find jedesmal den chmod-Befehl aufs Neue aufruft. Im Klartext: Die Xargs-Variante sollte wesentlich schneller sein.

 

Falls Geschwindigkeit bei dieser Anwendung wirklich ein Thema sein sollte: Auch das kann find selbst, und im Gegensatz zur xargs-Lösung hat man keinen Ärger mit merkwürdigen Verzeichnisnamen (ja, man könnte mit -print0 und xargs -0 arbeiten..., aber wozu?): 

```
find /Pfad -type d -exec chmod -v -- 0777 {} +
```

----------

