Cambio ricorsivo permessi su file
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Cambio ricorsivo permessi su file
Ipotizziamo che io ripristini molte dir da un CD, per cui i file risultano
in sola lettura. Io devo ripristinare i permessi 644 sui file, ma 755 sulle dir,
altrimenti non ci entro... Che tipo di comando dovrei dare? Se infatti do
chmod 644 * le dir non sono più percorribili, e fare tutto a mano
dir per dir diventa un lavoro lunghissimo...
Grazie!
M.
in sola lettura. Io devo ripristinare i permessi 644 sui file, ma 755 sulle dir,
altrimenti non ci entro... Che tipo di comando dovrei dare? Se infatti do
chmod 644 * le dir non sono più percorribili, e fare tutto a mano
dir per dir diventa un lavoro lunghissimo...
Grazie!
M.
- cymon
- Linux 2.x

- Messaggi: 430
- Iscritto il: ven 5 gen 2007, 1:40
- Slackware: 13.1
- Kernel: 2.6.33.4-smp
- Desktop: Fluxbox
- Località: Milano
- Contatta:
Re: Cambio ricorsivo permessi su file
In questi casi l'onnipotenza del comando find si manifesta in tutto il suo splendoresamiel ha scritto:Ipotizziamo che io ripristini molte dir da un CD, per cui i file risultano
in sola lettura. Io devo ripristinare i permessi 644 sui file, ma 755 sulle dir,
altrimenti non ci entro... Che tipo di comando dovrei dare? Se infatti do
chmod 644 * le dir non sono più percorribili, e fare tutto a mano
dir per dir diventa un lavoro lunghissimo...
Grazie!
M.
Da una root comune:
find . -type d -exec chmod 755 {} \;
Cambia i permessi di tutto quello che incontra di tipo directory
Eppoi
find . -type f -exec chmod 644 {} \;
Cambia i permessi di tutto quello che incontra di tipo file
Magari controlla se c'è un modo per raffinare ciò che vuoi in qualche modo, sempre guardando il man di find, ma secondo me la strada più diretta è questa
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Cambio ricorsivo permessi su file
Io farei:
poi
Non l'ho testato ma dovrebbe essere corretto.
Spina
Codice: Seleziona tutto
chmod -R 0644 *Codice: Seleziona tutto
find . -type d|xargs chmod 0755Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Cambio ricorsivo permessi su file
La prima soluzione mi sembra ineccepibile.
La seconda (che non ho ancora testato) probabilmente
da un punto di vista pratico funziona. Però a mio avviso
è un po' ozioso cambiare prima tutto in 664 per poi
cambiare di nuovo le dir in 755. O c'è un vantaggio
di cui no mi rendo conto?
Mille grazie a tutti e due!
M.
La seconda (che non ho ancora testato) probabilmente
da un punto di vista pratico funziona. Però a mio avviso
è un po' ozioso cambiare prima tutto in 664 per poi
cambiare di nuovo le dir in 755. O c'è un vantaggio
di cui no mi rendo conto?
Mille grazie a tutti e due!
M.
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Cambio ricorsivo permessi su file
Pensavo al fatto che forse non erano solo o file regolari o directory. Comunque un vantaggio reale lo ottieni usando la pipe con xargs invece di usare l'opzione -exec di find. Questo perchè l'opzione -exec lancia un processo ogni volta che i "filtri" precedenti non bloccano il controllo. In pratica, se hai 1000 file, il comando:esegue 1001 processi, 1 find e 1000 chmod. Mentre:esegue solo 3 processi, find, xargs e chmod.
Spina
Codice: Seleziona tutto
find . -type f -exec chmod 0664 '{}' \;Codice: Seleziona tutto
find . -type f|xargs chmod 0664Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
samiel
- Staff

- Messaggi: 5511
- Iscritto il: ven 16 gen 2004, 0:00
- Nome Cognome: Mauro Sacchetto
- Slackware: 13.0
- Kernel: 2.26
- Desktop: KDE
- Distribuzione: anche Debian
- Località: Venezia
Re: Cambio ricorsivo permessi su file
Mmmmm... capisco l'economizzazione dei processi
a cui alludi. In ogni caso anche col l'altra procedura
si tratta di pochi secondi...
Grazie
M.
a cui alludi. In ogni caso anche col l'altra procedura
si tratta di pochi secondi...
Grazie
M.
- sardylan
- Linux 3.x

- Messaggi: 993
- Iscritto il: mar 24 apr 2007, 9:21
- Nome Cognome: Luca Cireddu
- Slackware: current 64bits
- Kernel: 3.16
- Desktop: KDE 4.14
- Distribuzione: Debian - CLFS
- Località: Cagliari
- Contatta:
Re: Cambio ricorsivo permessi su file
Non ho provato, ma penso che non funzioni!! Se non sbaglio, il primo chmod dovrebbe toglierti l'eseguibilità alle dirs... Con la seconda chiamata non dovresti più essere in grado di accedere alle dirs, perciò ti potrebbe creare problemi...spina ha scritto:Io farei:poiCodice: Seleziona tutto
chmod -R 0644 *Non l'ho testato ma dovrebbe essere corretto.Codice: Seleziona tutto
find . -type d|xargs chmod 0755
Spina
Imho, la strada migliore resta questa:
Codice: Seleziona tutto
#!/bin/sh
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Cambio ricorsivo permessi su file
Comunque forse non riesco a spiegarmi bene quanto guadagni con la pipe. Se hai 90.000 file, e 10.000 direcotry, con i 'find + exec' esegui 100.002 processi, ovvero fari ricominciare il contatore dei processi!!!! Con i i 'find | xargs' invece esegui solo 6 processi. Non lo so, se per voi non cambia niente allora....
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Cambio ricorsivo permessi su file
Come dice Spina, anche le sacre scritture (ma ahimé è tra gli appunti per i tipis per slackers.it, ma non ho segnato la fonte) consigliano
Quel print0 cosa cambia?
Così faccio il post del tips e mi tolgo il pensiero.
Offtopic: ho tutta una serie di tips e faq ma non trovo mai il tempo e soprattuttto la voglia di tradurli e/o scriverli
Codice: Seleziona tutto
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
Così faccio il post del tips e mi tolgo il pensiero.
Offtopic: ho tutta una serie di tips e faq ma non trovo mai il tempo e soprattuttto la voglia di tradurli e/o scriverli
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Cambio ricorsivo permessi su file
La risposta la si trova in xargs(1):conraid ha scritto:....
Quel print0 cosa cambia?
...
Codice: Seleziona tutto
--null, -0
Input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken lit-
erally). Disables the end of file string, which is treated like any other argument. Useful when input items might contain white space, quote
marks, or backslashes. The GNU find -print0 option produces input suitable for this modeSpina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Cambio ricorsivo permessi su file
-print0 ed xargs -0 permettono che i nomi dei filesconraid ha scritto:Come dice Spina, anche le sacre scritture (ma ahimé è tra gli appunti per i tipis per slackers.it, ma non ho segnato la fonte) consigliano
Quel print0 cosa cambia?Codice: Seleziona tutto
find . -type f -print0 | xargs -0 chmod 644 find . -type d -print0 | xargs -0 chmod 755
contengano white spaces inclusi newlines
chmod: meglio 0644 e 0755, piu` leggibile e chiaro
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Cambio ricorsivo permessi su file
Non so voi, ma odio i nomi di files con gli spazi, molto MS-Style... purtroppo si iniziano a vedere anche su alcuni server unix ultimamente.Mario Vanoni ha scritto: -print0 ed xargs -0 permettono che i nomi dei files
contengano white spaces inclusi newlines
ok, quindi la versione "migliore" sarebbeMario Vanoni ha scritto: chmod: meglio 0644 e 0755, piu` leggibile e chiaro
Codice: Seleziona tutto
find . -type f -print0 | xargs -0 chmod 0644
find . -type d -print0 | xargs -0 chmod 0755
- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: Cambio ricorsivo permessi su file
No, dovrebbe essere questa.conraid ha scritto:...ok, quindi la versione "migliore" sarebbeo la cambiereste?Codice: Seleziona tutto
find . -type f -print0 | xargs -0 chmod 0644 find . -type d -print0 | xargs -0 chmod 0755
Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
-
Mario Vanoni
- Iper Master

- Messaggi: 3174
- Iscritto il: lun 3 set 2007, 21:20
- Nome Cognome: Mario Vanoni
- Slackware: 12.2
- Kernel: 3.0.4 statico
- Desktop: fluxbox/seamonkey
- Località: Cuasso al Monte (VA)
Re: Cambio ricorsivo permessi su file
Non hai grande scelta, p.e.conraid ha scritto: Non so voi, ma odio i nomi di files con gli spazi, molto MS-Style... purtroppo si iniziano a vedere anche su alcuni server unix ultimamente.
le foto di vacanza che mio figlio mi passa
sono spesso nomi con spazi,
solo copiare "paese luogo data jpg" ...
Altro esempio, Seamonkey contiene
una dir "Local Folders"
dirs/files "{...}", non so se digeribili da sh ecc.
- conraid
- Staff

- Messaggi: 13631
- Iscritto il: gio 14 lug 2005, 0:00
- Nome Cognome: Corrado Franco
- Slackware: current64
- Desktop: kde
- Località: Livorno
- Contatta:
Re: Cambio ricorsivo permessi su file
Sì, lo so, anche "Crash Reports", sempre per parlare di Mozilla, però secondo me è una cosa deprecabile, e chi usa un sistema linux, ma soprattutto chi ha in gestione server unix-like dovrebbe evitare. Poi che sia una mia "fisima" va beh... ne ho tante, una in più non ha valoreMario Vanoni ha scritto: Non hai grande scelta, p.e.
le foto di vacanza che mio figlio mi passa
sono spesso nomi con spazi,
solo copiare "paese luogo data jpg" ...
Altro esempio, Seamonkey contiene
una dir "Local Folders"
dirs/files "{...}", non so se digeribili da sh ecc.