Cambiare i permessi ricorsivamente: differenze tra le versioni

m
aggiunto motivo
Nessun oggetto della modifica
m (aggiunto motivo)
 
(9 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian|}}
{{Da_cancellare|Sostituibile con l'esecuzione di un singolo chmod, si veda [[Discussione:Cambiare_i_permessi_ricorsivamente | qui]].}}
 
{{Versioni compatibili}}
__TOC__
__TOC__
=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 21: Riga 23:
mostra una schermata di help.
mostra una schermata di help.


=Script=
== Script ==
Lo script:
Lo script:
<pre>
<pre>
Riga 60: Riga 62:
     Applica ai file nella directory corrente e sotto-directory i  
     Applica ai file nella directory corrente e sotto-directory i  
     'permessi_file' e tutte le directory i 'permessi_dir'. La sintassi
     'permessi_file' e tutte le directory i 'permessi_dir'. La sintassi
     per i permessi e' la stessa di chmod quindi sia ottale (es. 640) che  
     per i permessi è la stessa di chmod quindi sia ottale (es. 640) che  
     simbolica (es. o-rwx).
     simbolica (es. o-rwx).


   E' possibile specificare un terzo parametro opzionale che indica una  
   È possibile specificare un terzo parametro opzionale che indica una  
   directory iniziale diversa da quella corrente.
   directory iniziale diversa da quella corrente.


Riga 98: Riga 100:


if !( valid_mod $FILE_MOD && valid_mod $DIR_MOD ); then
if !( valid_mod $FILE_MOD && valid_mod $DIR_MOD ); then
     echo -e "\n ERRORE: Il formato dei permessi e' errato. Per i dettagli"
     echo -e "\n ERRORE: Il formato dei permessi è errato. Per i dettagli"
     echo -e "        vedere la pagina di manuale di chmod.\n"
     echo -e "        vedere la pagina di manuale di chmod.\n"
     exit 2
     exit 2
Riga 105: Riga 107:
ls | while read file; do
ls | while read file; do
     if [ -L "$file" ]; then
     if [ -L "$file" ]; then
         echo "  ==>> '$file' e' un link simbolico, lo ignoro."
         echo "  ==>> '$file' è un link simbolico, lo ignoro."
continue
continue
     elif [ -d "$file" ]; then
     elif [ -d "$file" ]; then
Riga 126: Riga 128:
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.
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
* Cambiato header e funzione help()
* Cambiato header e funzione help()


{{Autori
|Autore = [[Utente:TheNoise|~ The_Noise]]
}}


----
[[Categoria:Bash Scripting]]
Autore: [[Utente:TheNoise|~ The_Noise]]
 
[[Categoria:Sistema]]
[[Categoria:Shell]]
[[Categoria:Script]]
[[Categoria:Tips&Tricks]]
3 581

contributi