Cambiare i permessi ricorsivamente: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
==Descrizione==
=Descrizione=


Questo script cambia ricorsivamente i permessi di file e directory, ma impostando permessi diversi per i file e per le directory. In tal modo si possono impostare con un solo comando i permessi di esecuzione di un'intera gerarchia di directory (in modo da potervi accedere) e contemporaneamente togliere il permesso di esecuzione a tutti i file ivi contenuti.
Questo script cambia ricorsivamente i permessi di file e directory, ma impostando permessi diversi per i file e per le directory. In tal modo si possono impostare con un solo comando i permessi di esecuzione di un'intera gerarchia di directory (in modo da potervi accedere) e contemporaneamente togliere il permesso di esecuzione a tutti i file ivi contenuti.
Riga 7: Riga 7:
{{Box|Esempio|Un utilizzo tipico è quello di sanare i permessi di file copiati da cdrom, da partizioni windows, da chiavette usb formattate fat32 etc. }}
{{Box|Esempio|Un utilizzo tipico è quello di sanare i permessi di file copiati da cdrom, da partizioni windows, da chiavette usb formattate fat32 etc. }}


I due parametri opzionali sono i permessi rispettivamente di file e cartelle nello stesso formato accettato da chmod. Un terzo parametro opzionale indica una directory di partenza diversa da quella corrente.
I due parametri opzionali sono i permessi rispettivamente di file e cartelle nello stesso formato accettato da chmod. Un terzo parametro opzionale indica una directory di partenza diversa da quella corrente.<br/>
 
Ad esempio:
{{Box|Esempio| $ cd cartella/da/modificare/
<pre>
$ chmodr g-wx g-w
$ cd cartella/da/modificare/
}}
$ chmodr g-wx g-w
 
</pre>
In ultimo, il seguente comando:
In ultimo, il seguente comando:
 
<pre>
$ chmodr -h
$ chmodr -h
 
</pre>
mostra una schermata di help.
mostra una schermata di help.


==Script==
=Script=
 
Lo script:
<pre>
<pre>
#!/bin/bash
#!/bin/bash
Riga 122: Riga 122:
</pre>
</pre>


Il core dell script (quello che esegue effettivamente il cambio dei permessi) è la parte finale da '''ls | while read ...''' in poi. Tutta la parte precedente serve solo a controllare la correttezza dei parametri passati e a stampare una eventuale schermata di help.
Il core dell script (quello che esegue effettivamente il cambio dei permessi) è la parte finale, da <code>ls | while read ...</code> in poi. Tutta la parte precedente serve solo a controllare la correttezza dei parametri passati e a stampare una eventuale schermata di help.


==Changelog==
=Changelog=
* Release iniziale
* Release iniziale
* Aggiunto un check esplicito per evitare di seguire i link simbolici
* Aggiunto un check esplicito per evitare di seguire i link simbolici