3 581
contributi
Nessun oggetto della modifica |
m (aggiunto motivo) |
||
(9 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{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 | per i permessi è la stessa di chmod quindi sia ottale (es. 640) che | ||
simbolica (es. o-rwx). | simbolica (es. o-rwx). | ||
È 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 | 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' | 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]] | |||
[[Categoria: |
contributi