PDA

Visualizza la versione completa : [Server personale] Come impostare correttamente i permessi?


lnessuno
29-10-2013, 18:22
Mi sono finalmente procurato una VPS su cui vorrei mettere il mio sito e qualche altro sito personale. Ho installato LAMP e tutto ciò che mi serve, il sito è online, l'FTP funziona e... l'unica cosa che non riesco a capire è come gestire correttamente i permessi, per avere un sistema relativamente sicuro (senza dare i permessi di scrittura a chiunque), ma per poter comunque sfruttare -per esempio- l'aggiornamento automatico di wordpress...

Ora le cartelle sono "chownate" con il mio nome utente, con le cartelle impostate a 755 ed i files a 644...

Cosa devo modificare affinché wordpress possa effettuare gli aggiornamenti automatici, come facevo su qualunque altro hosting? :confused:

powerflash2
30-10-2013, 08:57
dipende come viene eseguito php, se il server utilizza suphp allora non serve fare altro, 755 e 644 bastano per fare tutto quello che vuoi, l'importante è che gli script abbiano sempre il tuo utente come solo proprietario... oppure usi fastCGI?

lnessuno
30-10-2013, 09:25
:stordita: suphp non c'è di sicuro, non sono certo di fastCGI... apache php e mysql me li sono installato a mano seguendo questa guida:

http://guide.debianizzati.org/index.php/Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_ MySQL,_PHP5

lnessuno
31-10-2013, 13:05
Ho controllato e sto usando CGI... e (per essere precisi) i permessi non sono sull'utente ma sul gruppo :bhò:

lnessuno
31-10-2013, 13:06
Ho trovato questo post che sembrerebbe risolvere il mio problema, ma.. così facendo non si creano possibili buchi di sicurezza? :confused:

http://forums.phpfreaks.com/topic/186274-debian-varwww-file-permissions/?p=985699

Enoa
02-11-2013, 10:23
Ho trovato questo post che sembrerebbe risolvere il mio problema, ma.. così facendo non si creano possibili buchi di sicurezza?

http://forums.phpfreaks.com/topic/186274-debian-varwww-file-permissions/?p=985699

Tra settare l'utente che esegue il webserver come proprietario dei file che esegue o fa eseguire e cambiare le permission in 777 non c'è molta differenza, o meglio io non la vedo :D.

Non hai detto come carichi i file sul server, ma visto che ssh stabilisce una connessione cifrata e invece ftp no, non dovresti usare l'utente principale o altri utenti che fanno parte del gruppo "sudo", https://wiki.debian.org/it/sudo, nelle tue connessioni ftp (e spero che ssh non accetti connessioni dall'utente root :D )

Se usi Vsftpd come server ftp, leggi http://forum.html.it/forum/showthread.php?threadid=1224962, se usi altro il ragionamento è lo stesso:
1) ti crei un utente che userai nelle connessioni ftp ed imposti la sua home su /var/www (-d /var/www), e lo aggiungerai agli utenti che NON possono connettersi via ssh http://www.cyberciti.biz/tips/openssh-deny-or-restrict-access-to-users-and-groups.html


$ sudo useradd -d /var/www/ -s /dev/null ftplnessuno
$ sudo passwd ftplnessuno
$ sudo chown -R ftplnessuno /var/www/

2) setta a yes la direttiva chroot_local_user ( o corrispondente), l'utente, una volta connesso, non potrà "risalire" l'albero delle cartelle, ma operare solo nella home che hai settato come /var/www
3) i permessi li hai già cambiati in 755 e 644 ed ok, da wordpress per aggiornare userai come utente ftplnessuno

Se non erro wordpress salva le credenziali ftp che usi, vai a capire dove e come
Mettiamo che la doc_root del sito con wordpress sia /var/www/dominio , io creerei un ulteriore utente:


$ sudo useradd -d /var/www/dominio -s /dev/null ftpdominio
$ sudo passwd ftpdominio
$ sudo chown -R ftpdominio /var/www/dominio

Loading