modifica ricorsiva dei permessi...[RISOLTO]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
leo80s
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 539
Iscrizione: lunedì 13 marzo 2006, 13:55
Località: bologna

modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leo80s »

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
Ultima modifica di leo80s il giovedì 6 luglio 2006, 1:00, modificato 1 volta in totale.
L'ignorante parla a vanvera, l'intelligente parla al momento opportuno, il saggio parla se interpellato, il fesso parla sempre.
Avatar utente
More+
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 426
Iscrizione: venerdì 13 gennaio 2006, 17:19
Contatti:

Re: modifica ricorsiva dei permessi...

Messaggio da More+ »

leo80s 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
con l'opzione -R, vedi il man
Ciao
Un blog scritto da un programmatore di insuccesso per coloro che aspirano a diventare tali:  http://programmatorepercaso.blogspot.com
Avatar utente
granma
Rampante Reduce
Rampante Reduce
Messaggi: 9705
Iscrizione: domenica 8 gennaio 2006, 14:44

Re: modifica ricorsiva dei permessi...

Messaggio da granma »

sudo chmod -R permessi  cartella

esempio  sudo chmod -R  777( permesso di  lettura scrittura ed esecuzione a tutti)  /percorso cartella
I cuccioli come i poeti sono puri e fragili difendiamo il loro mondo.
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
Avatar utente
leo80s
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 539
Iscrizione: lunedì 13 marzo 2006, 13:55
Località: bologna

Re: modifica ricorsiva dei permessi...

Messaggio da leo80s »

grazie a a tutti!
L'ignorante parla a vanvera, l'intelligente parla al momento opportuno, il saggio parla se interpellato, il fesso parla sempre.
Avatar utente
Sischio
Prode Principiante
Messaggi: 38
Iscrizione: mercoledì 14 marzo 2007, 15:52

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Sischio »

perchè a me succede questo?
sischio@sischio-laptop:~$ sudo chmod -r 777 /home/sischio/.wine/
sudo: can't open /etc/sudoers: Permission denied
sischio@sischio-laptop:~$
???
Avatar utente
menelicte
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 596
Iscrizione: lunedì 4 giugno 2007, 0:04

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da menelicte »

devi mettere la -R maiuscola  :D
"Tentare è il primo passo verso il fallimento" Homer J.
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RIAPERTO]

Messaggio da leonard vertighel »

Ciao a tutti.

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"?
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

Crea un file e chiamalo script.sh (ad esempio)

Codice: Seleziona tutto

while i in "*"; do
     if [[ -d $i ]]; then
           chmod 755 $i
           $0 $i/
     else 
           chmod 644 $i
     fi
done
Posizionati nella cartella nella quale è contenuto lo script ed esegui i comandi:

Codice: Seleziona tutto

chmod +x script.sh
export PATH="$PATH:`pwd`"
Poi avvia lo script con:

Codice: Seleziona tutto

script.sh /PATH/aCuiCambiareIPermessi/
Ora non posso provarlo, appena ho un minuto lo faccio ma dovrbbe andare.

Ciao
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leonard vertighel »

Grazie della dritta.
Dunque, mi dice
./permessi.sh: line 1: i: command not found
dove permessi.sh è il nome che ho dato al file (reso eseguibile dai precedenti comandi).

Che significa

Codice: Seleziona tutto

export PATH="$PATH:`pwd`"
?
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

indy ha scritto: Grazie della dritta.
Dunque, mi dice
./permessi.sh: line 1: i: command not found
Si ho sbagliato, ho scritto while al posto di for:

Codice: Seleziona tutto

for i in "*"; do
     if [[ -d $i ]]; then
           chmod 755 "$i"
           $0 $i/
     else 
           chmod 644 "$i"
     fi
done
Ho anche messo un paio di "" che non fanno mai male :D
Che significa

Codice: Seleziona tutto

export PATH="$PATH:`pwd`"
?
inserisci 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.
export invece fa "esportare" la variabile in tutte le sotto-shell che verranno aperte dalla shell attuale da quando digiti il comando.
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leonard vertighel »

L'ho provato in una cartella piccolissima e non la smetteva più... mi ha quasi inchiodato il pc. Sei sicuro che non ci voglia un -R o un while da qualche parte?
Scusa ma non sono esperto di programmazione in shell...  :-\
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

Codice: Seleziona tutto

cd $1
for i in *; do
     if [[ -d $i ]]; then
           chmod 755 "$i"
           $0 "$i/"
     else 
           chmod 644 "$i"
     fi
done
scusami ma mi ero completamente dimenticato di entrare nella cartella :)
attento anche al for, non servono le "" sull'*
Ultima modifica di Lord_Dex il giovedì 17 aprile 2008, 17:50, modificato 1 volta in totale.
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leonard vertighel »

Nada... mi dice:

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 directory
In pratica quello che fa è cambiare i permessi alle cartelle presenti in immagini (sono tre), ma non entra in ognuna di esse per cambiare i permessi dei file.
Avatar utente
jigen74
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 715
Iscrizione: lunedì 3 luglio 2006, 11:24

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da jigen74 »

hai dato i diritti di esecuzione a permessi.sh?

Codice: Seleziona tutto

chmod +x premessi.sh
in alternativa, prova con questi comandi

Codice: Seleziona tutto

find . -type d -exec chmod 755 {} \;
per dare 755 alle directory e

Codice: Seleziona tutto

find . -type f -exec chmod 644 {} \;
per dare 644 a tutti i file.
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.
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

Lord_Dex ha scritto: Crea un file e chiamalo script.sh (ad esempio)

Codice: Seleziona tutto

while i in "*"; do
     if [[ -d $i ]]; then
           chmod 755 $i
           $0 $i/
     else 
           chmod 644 $i
     fi
done
Posizionati nella cartella nella quale è contenuto lo script ed esegui i comandi:

Codice: Seleziona tutto

chmod +x script.sh
export PATH="$PATH:`pwd`"
Poi avvia lo script con:

Codice: Seleziona tutto

script.sh /PATH/aCuiCambiareIPermessi/
Ora non posso provarlo, appena ho un minuto lo faccio ma dovrbbe andare.

Ciao
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

devi avviarlo senza il ./

Codice: Seleziona tutto

script.sh /PATH/aCuiCambiareIPermessi/
perchè inserisci la cartella dello script nella variabile PATH. ;)

cmq anche la soluzione con il find è molto valida :)
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leonard vertighel »

Lord_Dex ha scritto: devi avviarlo senza il ./

Codice: Seleziona tutto

script.sh /PATH/aCuiCambiareIPermessi/
perchè inserisci la cartella dello script nella variabile PATH.

cmq anche la soluzione con il find è molto valida
Funziona, ma si inchioda se una delle sottocartelle o dei file ha un nome con degli spazi:

Canone in re/

Canone ???????????? Non esiste alcuna cartella Canone!!!!! Sei un pazzo, PAZZO!!!!
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

attento che ci siano le "$i" dopo i due comandi chmod
Ultima modifica di Lord_Dex il domenica 27 aprile 2008, 22:23, modificato 1 volta in totale.
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Avatar utente
leonard vertighel
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 532
Iscrizione: giovedì 2 novembre 2006, 14:06
Località: SML

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da leonard vertighel »

Lord_Dex ha scritto: attento che ci siano le "$i" dopo i due comandi chmod
NOn prendermi in giro, ma le "$i" devono essere fra virgolette?
Avatar utente
Lord_Dex
Prode Principiante
Messaggi: 235
Iscrizione: venerdì 11 maggio 2007, 12:59
Località: Bologna
Contatti:

Re: modifica ricorsiva dei permessi...[RISOLTO]

Messaggio da Lord_Dex »

indy ha scritto: NOn prendermi in giro, ma le "$i" devono essere fra virgolette?
esatto
-- Lord_Dex --
Linux Registered User: 385122
http://wiki.ubuntu-it.org/FrancescoApollonio/
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti