Configurazione delle autorizzazioni per FTP e Apache


10

Ho un web server (Apache2) a cui accedo con FileZilla.

Sul mio server web ho una directory / home / admin / www che ho associato a / var / www. Quindi posso accedervi con FTP. Funziona perfettamente!

Ma ogni volta che riavvio il mio server web devo fare il bind ancora e ancora. Non posso dire al mio server web che quelle mappe devono essere vincolate per sempre? Inoltre, devo reimpostare tutte le autorizzazioni ogni volta, cosa sto facendo di sbagliato?

Risposte:


13

Una soluzione migliore e più sicura (mi sento a disagio con Internet che ha accesso a una cartella home degli amministratori!) È quella di creare una cartella webroot in /

Tempo terminale!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Ora punta apache sul tuo nuovo documento root / webroot nella parte inferiore della tua configurazione di apache. Questo può essere trovato qui: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O per salvare, CTRL-X per uscire in nano se non si ha familiarità con esso.

Sostituisci semplicemente DocumentRoot /var/www/con/webroot/

Copia i tuoi file web ora su webroot.

sudo /etc/init.d/apache2 reload

Apache ora dovrebbe essere riavviato con tutte le configurazioni caricate.

Questo ha creato una directory in root chiamata webroot, di proprietà di apache2, e il proprietario del gruppo è il nuovo gruppo webdev, di cui il tuo utente è ora aggiunto al membro (questo non sostituisce alcun gruppo!). Questo ti permetterà di modificare i file nell'FTP!

Questa è una soluzione molto semplice per un server apache a un sito web. È necessario ulteriore lavoro se si prevede di eseguire più siti (ad esempio la creazione di cartelle separate per loro in Webroot)

I vantaggi di questo sono che se qualcuno trova una vulnerabilità, viene bloccato nella cartella webroot e non nella cartella principale! Inoltre, se hai mai avuto bisogno di consentire ad altri utenti di modificare il sito, puoi aggiungere i loro utenti al gruppo webdev consudo usermod -a -G theirusername webdev

Spero che sia di aiuto!

Cordiali saluti


Non è un problema :) ti dispiace se rinomino il titolo per riflettere meglio la risposta che ho dato?
Laice,


per qualche motivo non ho ricevuto questo utente webdev quando ho usato il tuo comando> sudo groupadd webdev Ho provato questo e sembrava funzionare. Ho comunque aggiunto l'utente nel file / etc / group. sudo usermod -a wwwlogin -G webdev
Benaiah

Questa è stata colpa mia, nella mia risposta ho cambiato utente e gruppo inavvertitamente, questo è stato corretto da Damon, lezione appresa!
Laice,

@Damon, penso che sia necessario impostare le autorizzazioni appropriate in modo che il proprietario (www-data) e il gruppo (webdev) abbiano le stesse autorizzazioni di una directory: dovrebbe essere 775 (anziché 755 predefinito) e 664 (anziché 644 ) per i file.
Eduardo B.,
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.