Pagina 1 di 2
modifica ricorsiva dei permessi...[RISOLTO]
Inviato: mercoledì 5 luglio 2006, 16:45
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
Re: modifica ricorsiva dei permessi...
Inviato: mercoledì 5 luglio 2006, 16:47
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
Re: modifica ricorsiva dei permessi...
Inviato: mercoledì 5 luglio 2006, 21:57
da granma
sudo chmod -R permessi cartella
esempio sudo chmod -R 777( permesso di lettura scrittura ed esecuzione a tutti) /percorso cartella
Re: modifica ricorsiva dei permessi...
Inviato: giovedì 6 luglio 2006, 0:59
da leo80s
grazie a a tutti!
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: sabato 16 giugno 2007, 19:41
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:~$
???
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: sabato 16 giugno 2007, 21:00
da menelicte
devi mettere la -R maiuscola

Re: modifica ricorsiva dei permessi...[RIAPERTO]
Inviato: mercoledì 16 aprile 2008, 15:41
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"?
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: giovedì 17 aprile 2008, 15:01
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:
Poi avvia lo script con:
Ora non posso provarlo, appena ho un minuto lo faccio ma dovrbbe andare.
Ciao
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: giovedì 17 aprile 2008, 15:23
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
?
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: giovedì 17 aprile 2008, 16:12
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
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.
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: giovedì 17 aprile 2008, 16:38
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... :-\
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: giovedì 17 aprile 2008, 17:45
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'*
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: venerdì 18 aprile 2008, 10:39
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.
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: venerdì 18 aprile 2008, 10:49
da jigen74
hai dato i diritti di esecuzione a permessi.sh?
in alternativa, prova con questi comandi
per dare 755 alle directory e
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.
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: venerdì 18 aprile 2008, 23:34
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:
Poi avvia lo script con:
Ora non posso provarlo, appena ho un minuto lo faccio ma dovrbbe andare.
Ciao
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: venerdì 18 aprile 2008, 23:35
da Lord_Dex
devi avviarlo senza il ./
perchè inserisci la cartella dello script nella variabile PATH.
cmq anche la soluzione con il find è molto valida

Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: venerdì 25 aprile 2008, 12:25
da leonard vertighel
Lord_Dex ha scritto:
devi avviarlo senza il ./
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!!!!
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: domenica 27 aprile 2008, 22:20
da Lord_Dex
attento che ci siano le "$i" dopo i due comandi chmod
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: lunedì 28 aprile 2008, 10:29
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?
Re: modifica ricorsiva dei permessi...[RISOLTO]
Inviato: lunedì 28 aprile 2008, 11:17
da Lord_Dex
indy ha scritto:
NOn prendermi in giro, ma le "$i" devono essere fra virgolette?
esatto