Articoli con tag directory

chmod ricorsivo solo directory o solo su file

Problema

Voglio attivare, in tutte le cartelle e relative sottocartelle, il permesso di esecuzione per il gruppo, mentre voglio rendere tutti i file leggibili da tutti ma modificabili solo da me.

Risoluzione

Dal momento che il comando chmod con l’opzione per la risorsività -R applica i permessi indistintamente sia ai file che alle directory (*), devo fare diversamente se non voglio essere costretto a fare le cose “a mano”.

Le due possbilità sono:

  1. utilizzare il comando find
  2. utilizzare il permesso X (maiuscolo) invece del minuscolo nel comando chmod

1. Utilizzare find

Con il comando:

find . -type d -exec chmod g+x {} \;

si chiede al find una ricerca ricorsiva a partire dalla directory corrente (ad iniziare da . ‘punto’) e, al risultato, si applica il comando and chmod g+x alle sole directory. Similmente, per i file, si può utilizzare

find . -type f -exec chmod 644 {} \;

2. Utilizzare il permesso X per chmod

Il comando

chmod g+x -R .

che conosciamo ed utilizziamo, setta i permessi di esecuzione a tutti i file e a tutte le cartelle a partire dal quella corrente. Invece il comando

chmod g+X -R .

imposta il bit del permesso di esecuzione corrispondente al gruppo solo per le cartelle (e anche ai file il cui permesso originale ha il permesso di l’esecuzione). Perciò, eseguendo 2 comandi consecutivamente otteniamo il risultato da noi cercato:

chmod 644 -R .;chmod g+X -R .

Fonti: Movabletripe , Peterbe e ManPagez

() nel mondo Unix-like, anche le directory sono dei file: “Una directory è un file contenente una tabella che elenca i file contenuti nella directory stessa”.

, , , , , ,

1 Commento