Chmod per consentire le autorizzazioni di lettura e scrittura per la directory


62

Ho creato le directory in root. Sto cercando il chmodcomando per consentire a tutti gli utenti di leggere e scrivere le autorizzazioni in una directory specifica. Ho fatto chmod 775per un file ma ne ho bisogno per una directory. Ciò include le autorizzazioni per tutti i file e le sottodirectory.

Risposte:


34

0775raramente è corretto per un file. Di seguito verranno aggiunte le autorizzazioni desiderate appropriate al tipo appropriato, senza disturbare altre autorizzazioni esistenti:

find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Vedi la pagina man per trovare aiuto per decifrarlo.


48

Per tutti gli utenti avere accesso in lettura e scrittura, sarebbe 0777un po 'pericoloso, soprattutto se si esegue un server web. Come ha detto @unwind:

chmod -R 0777 /mydirectory Consentirà a tutti gli utenti l'accesso in lettura e scrittura a tutti i file e le cartelle all'interno di quella directory

A seconda del tuo scopo, potresti voler leggere i bit appiccicosi, che consentono a tutti gli utenti di creare nuovi file, ma non di eliminare o modificare altri file in una directory:

chmod +t /mydirectory

Inoltre, nel caso in cui non sapessi, man chmodverrà visualizzata la pagina di manuale del chmodcomando, che puoi cercare il testo "ricorsivo" digitando/recursive


15

Non è così che funziona il modello di protezione Unix, non è possibile impostare autorizzazioni in modo ricorsivo. È necessario impostarli su ciascuna directory, completamente "giù".

Ovviamente puoi fare l' impostazione in modo ricorsivo, ma ciò significa solo "passare e impostare queste autorizzazioni su tutti i file e le cartelle sottostanti", che non è il modo in cui capisco la tua domanda.

Per fare ciò, usa l' opzione -R per chmod:

$ chmod -R 0755 /my-cool-directory

@unwind - Intendo ogni file e sottodirectory di una directory che chmod ha permesso di leggere e scrivere per tutti. È questo che fa questo comando? Grazie

1
Quando metto il -r prima dello 0755 ottengo 0755 - nessun file o directory simile. Mettere il -r dopo risolve il mio problema.
Tim Mottram,

"fai". lol. simpatico.
ytpillai,
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.