Come posso modificare le autorizzazioni su una directory


9

Sto usando CentOS e vorrei sapere come modificare le autorizzazioni su una cartella con più file al suo interno.

Ho usato i seguenti comandi nella cartella come root (diciamo cartella = A):

chmod 777 (home / directory / A)

chmod g + r (A)

Se visualizzo la cartella come un normale utente, utilizzando il file manager, l'icona del lucchetto non è visibile che indica che le autorizzazioni sono state concesse? tuttavia, tutti i file all'interno della cartella A mostrano ancora un'icona a forma di lucchetto che indica che solo alla cartella A è stata concessa l'autorizzazione e nessuna delle sottodirectory all'interno di essa.

Sarà un compito piuttosto laborioso eseguire i comandi sopra menzionati in tutte le sottodirectory poiché ce ne sono semplicemente troppe.

Grazie!

Risposte:


15

Per impostare le autorizzazioni per la cartella e tutte le sottocartelle / file è necessario utilizzare l'opzione ricorsiva nel comando:

chmod 777 -R /path/to/directory

Per ulteriori informazioni sull'uso di chmod, consultare qui .

AGGIORNARE:

Disclaimer: l'uso di chmod 777 renderà la tua cartella eseguibile da tutti. Vedi sotto per uno sguardo alle impostazioni

Le tue autorizzazioni sono impostate utilizzando tre numeri.

i 100 sono per il proprietario del file
400 leggi
200 scrivi
100 esegui

10 sono per il gruppo del file
40 leggi
20 scrivi
10 esegui

1 sono per tutti gli altri
4 leggi
2 scrivi
1 esegui

Nel tuo esempio stai dando al proprietario, al gruppo e a tutti i diritti completi sul tuo file. Se, ad esempio, desideri concedere autorizzazioni complete al proprietario e al gruppo, ma tutti gli altri leggono ed eseguono solo le autorizzazioni, utilizzeresti 775.

Se si desidera utilizzare la rappresentazione delle lettere anziché i numeri, vedere qui


Grazie! Matthew per aver risolto il problema e per aver fornito un link informativo, che è appena stato
aggiunto ai

Se lo hai trovato utile, contrassegnalo come risposta.
Gaurav Joseph,

non renderà eseguibili tutti i file all'interno della cartella?
Stib

Sì lo farà, ma dalla sua domanda ho capito che è quello che vuole. Il link che ho fornito lo aiuterà con le sue autorizzazioni. Dato che me lo dici, aggiornerò la mia risposta per includere uno sguardo a questo.
Matthew Williams,

1

È possibile utilizzare chmod per modificare i bit di autorizzazione. L'opzione -R è per ricorsivamente - usata per le directory. I bit sono spiegati come rwx, ovvero read, write ed eseguibile. Se r = 1, w = 1 e x = 1. Il binario 111 significa 7 in decimale. Quindi, vedi 7. Ora, i campi sono decisi come u = utente, gruppo e altri. Quindi, se vuoi dare il permesso a tutti, fai chmod -R 777 dir_name. Inoltre, puoi dire chmod -R a + rwx dir o se vuoi rimuovere un po 'di permesso, allora puoi dire che chmod -R ax dir - questo è per rimuovere il permesso eseguibile.

Inoltre, puoi fare l'uomo su chmod per conoscere maggiori dettagli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.