2009-08-06 23:30:27 +0000 2009-08-06 23:30:27 +0000
199
199

Come posso dare accesso in scrittura di una cartella a tutti gli utenti di linux?

Ho installato apache2 su Ubuntu poco fa, e ho notato che la cartella /var/wwww è protetta. Posso solo sudo tutto, ma preferirei darle solo l'accesso in scrittura.

Come posso farlo?

Ho provato sudo chmod 7777 /var/www ma non ha funzionato.

Risposte (8)

328
328
328
2009-08-07 00:15:22 +0000

Per condividere al meglio con più utenti che dovrebbero essere in grado di scrivere in /var/www, dovrebbe essere assegnato un gruppo comune. Per esempio il gruppo predefinito per i contenuti web su Ubuntu e Debian è www-data. Assicuratevi che tutti gli utenti che hanno bisogno di accedere in scrittura a /var/www siano in questo gruppo.

sudo usermod -a -G www-data <some_user>

Quindi impostate i permessi corretti su /var/wwww.

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

Inoltre, dovreste rendere la directory e tutte le directory sotto di essa “set GID”, in modo che tutti i nuovissimi file e le directory create sotto /var/www siano di proprietà del gruppo www-data.

sudo find /var/www -type d -exec chmod 2775 {} \;
``` ```
sudo find /var/www -type f -exec chmod ug+rw {} \;

Trovare tutti i file in /var/www e aggiungere l'autorizzazione di lettura e scrittura per il proprietario e il gruppo:

&001 &001

Potrebbe essere necessario effettuare il logout e il login per poter apportare modifiche se si sta modificando l'autorizzazione per il proprio account.

34
34
34
2011-09-22 10:31:49 +0000

C'è un modo più semplice per farlo, provate a fare questo comando.

sudo chmod -R 757 /var/www

Essenzialmente, il comando chmod modifica i permessi e l'interruttore -R influisce su tutti gli utenti. Quindi è semplicemente dare i permessi corretti da usare.

30
30
30
2013-08-09 19:22:50 +0000

Lettura+scrittura:

sudo chmod -R a+rw /var/www
``` ```
sudo chmod -R a+rwx /var/www

Read+Write+Execute:

&001

8
8
8
2009-08-08 12:29:16 +0000

È anche possibile replicare ciò che jtimberman ha suggerito utilizzando liste di controllo d'accesso . Il comando setfacl accetta -s per sostituire una ACL esistente o -m per modificarla; -R per rendere ricorsiva la directory ACL; e -d per rendere le impostazioni specificate il default, che è utile se si sta anticipando i prossimi account utente.

Questi si limitano ad impostare i permessi come si farebbe per l'utente, il gruppo, l'altro, e la maschera usando chmod:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
``` ```
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

E questo potrebbe essere il modo in cui si farebbe per un utente specificato o il suo gruppo:

getfacl DIRECTORY
``` &001 


E naturalmente, il punto di forza è che si può designare qualsiasi utente specifico, più utenti, ecc, il tutto senza dover modificare le impostazioni del vostro gruppo. E a differenza di chmod, se si vuole che alcuni groupie abbiano accesso ad una directory e altri groupie abbiano accesso solo ad un'altra, è in realtà possibile con setfacl. Infine, per visualizzare le ACL di una directory, eseguire [ getfacl ](http://linux.about.com/library/cmd/blcmdl1_getfacl.htm): 


&001 



E si può specificare -R per vedere le ACL per le sottodirectory o -d per vedere i valori predefiniti.
3
3
3
2018-02-20 02:20:19 +0000

La risposta rapida e semplice -

a. Aggiungere (-a) l'utente (user_name) al gruppo (-G) www-data.

sudo usermod -a -G www-data user_name

b. Dare al gruppo (g) gli stessi permessi (=) dell'utente proprietario (u) di /var/wwww Recursively (-R).

sudo chmod -R g=u /var/www

Spiegazione: Apache 2 su Debian/Ubuntu imposta l'utente e il gruppo www-data come proprietario di /var/wwww. I permessi predefiniti per l'utente sono “Visualizza e modifica il contenuto”, tuttavia il gruppo può solo “Visualizza il contenuto”. Quindi aggiungere se stessi al Gruppo www-data e dargli gli stessi permessi dell'Utente wwww-data, è un modo semplice e veloce per ottenere lo sviluppo. Lo faccio per tutti i miei ambienti di sviluppo web localhost (PC/Laptop).

2
2
2
2017-03-19 21:13:20 +0000

I typicall uso

chmod g+w /folder/ -R
``` &001 


È quasi autoesplicativo. 


Aggiunge tutti nel gruppo `g` di `/folder/` per avere `w` accesso in scrittura (`+w`) , `-R` è per la ricorsione per le sottocartelle.
-3
-3
-3
2009-08-07 02:01:12 +0000

Potete provare chmod 0777 /var/www ?

Un avvertimento: se lasciate che tutti accedano a questa cartella, significa che gli hacker possono accedere a questa cartella se accedono al vostro sistema. Ecco perché è meglio creare un gruppo di utenti autorizzati e dare a quel gruppo l'accesso in scrittura.

-3
-3
-3
2011-09-30 09:58:58 +0000

Prima si inserisce il particolare percorso della cartella, poi si usa questo comando …

chmod -R 777 foldername
chown username:username foldername