modifica ricorsiva dei permessi...[RISOLTO]
- leo80s
- Scoppiettante Seguace

- Messaggi: 539
- Iscrizione: lunedì 13 marzo 2006, 13:55
- Località: bologna
modifica ricorsiva dei permessi...[RISOLTO]
grazie
Leo
Re: modifica ricorsiva dei permessi...
con l'opzione -R, vedi il manleo80s ha scritto: salve, come da subject vorrei sapere come si fa, quando si cambiano i permessi di una cartella, a cambiare anche i permessi dei file e delle cartelle in essa contenute (cambiarlo cioè in maniera ricorsiva...)
grazie
Leo
Ciao
Re: modifica ricorsiva dei permessi...
esempio sudo chmod -R 777( permesso di lettura scrittura ed esecuzione a tutti) /percorso cartella
Dai diamanti non nasce niente ,dal letame nascono i fior
Roma Roma bella t'ho dipinta io gialla come il soole rossa come il core mio
- leo80s
- Scoppiettante Seguace

- Messaggi: 539
- Iscrizione: lunedì 13 marzo 2006, 13:55
- Località: bologna
Re: modifica ricorsiva dei permessi...
Re: modifica ricorsiva dei permessi...[RISOLTO]
???sischio@sischio-laptop:~$ sudo chmod -r 777 /home/sischio/.wine/
sudo: can't open /etc/sudoers: Permission denied
sischio@sischio-laptop:~$
Re: modifica ricorsiva dei permessi...[RISOLTO]
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RIAPERTO]
Volevo chiedere un'informazione alla comunità su questo argomento.
Copiando dei file su un disco rigido formattato in FAT32, vanno perse le informazioni sui permessi. Una volta che ricopio i file sul mio computer, i permessi sono tutti sballati, in particolare sono tutti eseguibili.
Se però chiedo di farmi chmod -R 644 *, linux cambia in 644 anche le sottocartelle, dopodiché, non essendo più eseguibili, mi dice che non ci può entrare per continuare il lavoro ricorsivo.
Come si fa a dire una cosa del tipo "Mettimi 644 a tutti i file ma 755 a tutte le cartelle"?
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
Codice: Seleziona tutto
while i in "*"; do
if [[ -d $i ]]; then
chmod 755 $i
$0 $i/
else
chmod 644 $i
fi
doneCodice: Seleziona tutto
chmod +x script.sh
export PATH="$PATH:`pwd`"Codice: Seleziona tutto
script.sh /PATH/aCuiCambiareIPermessi/Ciao
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RISOLTO]
Dunque, mi dice
dove permessi.sh è il nome che ho dato al file (reso eseguibile dai precedenti comandi)../permessi.sh: line 1: i: command not found
Che significa
Codice: Seleziona tutto
export PATH="$PATH:`pwd`"- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
Si ho sbagliato, ho scritto while al posto di for:indy ha scritto: Grazie della dritta.
Dunque, mi dice./permessi.sh: line 1: i: command not found
Codice: Seleziona tutto
for i in "*"; do
if [[ -d $i ]]; then
chmod 755 "$i"
$0 $i/
else
chmod 644 "$i"
fi
doneinserisci nella variabile d'ambiente PATH (dove son contenuti tutte le directory dove il sistema va a cercare gli eseguibili) il direttorio contenente lo script che hai creato.Che significa?Codice: Seleziona tutto
export PATH="$PATH:`pwd`"
export invece fa "esportare" la variabile in tutte le sotto-shell che verranno aperte dalla shell attuale da quando digiti il comando.
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RISOLTO]
Scusa ma non sono esperto di programmazione in shell... :-\
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
Codice: Seleziona tutto
cd $1
for i in *; do
if [[ -d $i ]]; then
chmod 755 "$i"
$0 "$i/"
else
chmod 644 "$i"
fi
doneattento anche al for, non servono le "" sull'*
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RISOLTO]
Codice: Seleziona tutto
indy@charliebrown:~$ ./permessi.sh immagini/
./permessi.sh: line 5: ./permessi.sh: Nessun file o directory
./permessi.sh: line 5: ./permessi.sh: Nessun file o directory
./permessi.sh: line 5: ./permessi.sh: Nessun file o directoryRe: modifica ricorsiva dei permessi...[RISOLTO]
Codice: Seleziona tutto
chmod +x premessi.shCodice: Seleziona tutto
find . -type d -exec chmod 755 {} \;Codice: Seleziona tutto
find . -type f -exec chmod 644 {} \;il '.' nei due comandi (dopo find) indica la directory di ricerca, in questo caso quella corrente in cui sei.
è solo un modo diverso di scrivere quanto già detto da Lord_Dex
ciao.
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
Lord_Dex ha scritto: Crea un file e chiamalo script.sh (ad esempio)Posizionati nella cartella nella quale è contenuto lo script ed esegui i comandi:Codice: Seleziona tutto
while i in "*"; do if [[ -d $i ]]; then chmod 755 $i $0 $i/ else chmod 644 $i fi donePoi avvia lo script con:Codice: Seleziona tutto
chmod +x script.sh export PATH="$PATH:`pwd`"Ora non posso provarlo, appena ho un minuto lo faccio ma dovrbbe andare.Codice: Seleziona tutto
script.sh /PATH/aCuiCambiareIPermessi/
Ciao
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
Codice: Seleziona tutto
script.sh /PATH/aCuiCambiareIPermessi/cmq anche la soluzione con il find è molto valida
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RISOLTO]
Funziona, ma si inchioda se una delle sottocartelle o dei file ha un nome con degli spazi:Lord_Dex ha scritto: devi avviarlo senza il ./
perchè inserisci la cartella dello script nella variabile PATH.Codice: Seleziona tutto
script.sh /PATH/aCuiCambiareIPermessi/
cmq anche la soluzione con il find è molto valida
Canone in re/
Canone ???????????? Non esiste alcuna cartella Canone!!!!! Sei un pazzo, PAZZO!!!!
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
- leonard vertighel
- Scoppiettante Seguace

- Messaggi: 532
- Iscrizione: giovedì 2 novembre 2006, 14:06
- Località: SML
Re: modifica ricorsiva dei permessi...[RISOLTO]
NOn prendermi in giro, ma le "$i" devono essere fra virgolette?Lord_Dex ha scritto: attento che ci siano le "$i" dopo i due comandi chmod
- Lord_Dex
- Prode Principiante
- Messaggi: 235
- Iscrizione: venerdì 11 maggio 2007, 12:59
- Località: Bologna
- Contatti:
Re: modifica ricorsiva dei permessi...[RISOLTO]
esattoindy ha scritto: NOn prendermi in giro, ma le "$i" devono essere fra virgolette?
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti
