permessi predefiniti per / var / www


36

Stavo cercando di aprire un file e scriverlo con PHP nella /var/wwwcartella ma non funzionava, quindi l'ho fatto

sudo chmod 777 /var/www

ora voglio impostare le autorizzazioni /var/wwwpredefinite.
a cosa servono le autorizzazioni predefinite /var/www?


Non sono un membro di serverfault, quindi non ho potuto commentare o votare la risposta. Ma questo post lo inchioda davvero: serverfault.com/questions/357108/…
Donato

Prova a controllare il documento all'interno della pagina wiki: proprietà di file e directory e autorizzazioni per il contenuto Web.
Huckbit,

Risposte:


29

Le autorizzazioni per questa cartella sono:

chmod 755 /var/www/

e i file all'interno della cartella sono:

chmod 644 /var/www/file

43

L'autorizzazione predefinita per /var/wwwse stessa è piuttosto standard: proprietario root:roote mod 755.

Per quanto riguarda qualsiasi cosa dentro /var/www , questa è una delle rare directory in cui si ha il privilegio di decidere autonomamente cosa inserire e quali autorizzazioni dovrebbe avere tutto ciò che contiene. Ma ciò che ha più senso è:

  • La maggior parte dei file dovrebbe essere scrivibile da qualsiasi utente o gruppo scriverà di più. Puoi impostarli per essere di proprietà del tuo account utente. O crea un gruppo personalizzato per i tuoi sviluppatori. Oppure, se i file vengono modificati raramente e si desidera una buona sicurezza, è possibile procedere con root:roote semplicemente accedervi nelle rare occasioni in cui verranno modificati.

  • La maggior parte dei file non dovrebbe essere scrivibile in tutto il mondo. Quindi, 644per i file e 755per le directory è appropriato (o 664e 775se si desidera dare a un gruppo l'accesso in scrittura).

  • Si Non consigliabile impostare qualsiasi di esso per essere scrivibile dal server web, vale a dire www-data, ad eccezione dei file qualsiasi specifica vostri script web per essere in grado di scrivere. In tal caso, è meglio impostare l'utente o il gruppo di tali file www-datapiuttosto che renderli scrivibili in tutto il mondo. Si noti che ogni volta che l' www-datautente può scrivere su qualsiasi file all'interno della radice Web, sia impostando l'utente o il gruppo su quei file, sia rendendoli scrivibili dal mondo, è un potenziale problema di sicurezza. Il mondo scrivibile è solo il peggio dei due.


2
È stata votata come la risposta più conclusiva qui
Chris,

2
Questa è davvero una buona risposta. :)
Banago,

per migliorare la risposta, prendere in considerazione l'aggiunta di comandi per impostare le richieste appropriate
Abraham Murciano Benzadon,

Esiste una funzione ricorsiva che può cambiare tutte le cartelle in 755 e i file in 644 in var / www?
Matthew Semik,

Sì: stackoverflow.com/questions/18817744/… (la seconda risposta è più elegante di quella IMO accettata)
thomasrutter,

9

Assicurati che il gruppo sia www-data su '/ var / www'.

sudo chgrp www-data /var/www

Rendilo scrivibile

sudo chmod 775 /var/www

imposta l'id gruppo per le sottocartelle

sudo chmod g+s /var/www

aggiungi il tuo nome utente al gruppo

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

concediti la proprietà

sudo chown [USERNAME] /var/www/

9
Che è , non le autorizzazioni predefinite per / var / www, ed è una molto cattiva idea di sicurezza-saggio per rendere l'intero scrivibile radice web www-data. Fallo solo quando gli script web hanno bisogno dell'accesso in scrittura a determinati file, e anche solo a quei file particolari, non all'intera radice web. E l'OP non ha detto che doveva farlo, comunque, quindi questa non dovrebbe essere affatto una raccomandazione.
Thomas Rutter

3
Inoltre è una pessima idea aggiungersi al gruppo www-data e trattare quel gruppo in quel modo. Dove hai letto per fare questo? È un consiglio particolarmente negativo, quasi maliziosamente. Crea i tuoi gruppi quando devi dare a un gruppo l'accesso a qualcosa: non riutilizzare i gruppi non privilegiati che sono destinati all'uso interno da parte dei demoni.
Thomas Rutter

1
@neon_overload cosa mi consigliate
aWebDeveloper il

1
Esattamente, cosa consiglieresti a @neon_overload?
Banago,

1
@Banago personalmente ti consiglio un +1 :)
Kamil

-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www

4
A seconda del contenuto, può essere dannoso utilizzare la -Rbandiera qui. Poiché l'OP non ha utilizzato il -Rflag, non dovremmo raccomandarlo per correggere le autorizzazioni errate che hanno creato. La -Rbandiera è raramente utile!
Zanna,
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.