possibilità di modifica files in directory /home/user con php

C, C++, Java, ...
Rispondi
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

Ciao Ragazzi,
come da soggetto : possibilità di modifica files in directory /home/user con PHP
normalmente faccio questo tipo di operazioni ( principalmente stat, move e delete ) via FTP ma vorrei provare anche senza PERO' ho notato che su Debian 11, PHP non mi riesce a puntare i files su /home/user, essendo la prima volta che lo faccio e avendo già smanettato troppo a livello user e permessi su questa macchina la prima domanda è se sia normale che NON riesca a puntare i files di un utente nella sua home con PHP per esempio :

Codice: Seleziona tutto

file_exists('/home/user/file')
assumendo che molto probabilmente lo sia e che cioè per motivi di sicurezza PHP non possa farlo mi chiedevo se magari potessi aggirare questo fatto magari creando un hard link nella home dell'user che puntasse a qualche altra zona della macchina a qui PHP possa puntare...
Secondo Voi ?
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: possibilità di modifica files in directory /home/user con php

Messaggio da marcomg »

GioMBG ha scritto: 18/05/2023, 10:24 Secondo Voi ?
Allora bisognerebbe sapere esattamente cosa stai facendo/cosa devi ottenere. Probabilmente è possibile che ci siano design differenti migliori (ma bisogna sapere cosa si sta facendo per parlare in merito).

Anyway: log? Quelli permessi ci sono? Quale è il valore di open_basedir in php? Per i link di solito il follow è disabilitato di default. Puoi attivarlo ma se non ricordo male se esce da open_basedir i soft-link non funzionano.
~ Marco
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

ciao marcomg,
ho fatto questa prova, a pensarci la soluzione più semplice ( forse )

Codice: Seleziona tutto

chown -R user:www-data /home/user
php riesce a puntare ed era ovvio che non lo potesse fare senza avere i permessi,
in questo modo niente hard link niente di niente MA exploit possibili in /home/user/ ?
tipo se mi caricano un file PHP, secondo Te, poi in qualche maniera, possono riuscire a puntarlo ?
sempre grazie
Giò
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

Rettifico,
così i file si riescono a puntare ma NON si riescono a spostare / cancellare...
abbadono questo metodo, mi rimane solo che php FTP.
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: possibilità di modifica files in directory /home/user con php

Messaggio da marcomg »

Allora se non è raggiungibile da Apache direttamente non dovrebbe essere direttamente un problema. Dipende però come è scritto il resto del software. Ovviamente più permessi ci sono e peggio è a livello di possibili exploit.

Che non si riesca a cancellare o rinominare non è sempre vero. Dipende anche lì dai permessi. I permessi li devi dare diversi alle directory rispetto ai file. E devi dare al gruppo gli stessi permessi del proprietario (se devi modificare i file).
Perché dai i permessi a tutta la home e non solo a una subdirectory? In quella subdirectory vorrai anche configurare il guid così i nuovi file creati mantengono il gruppo della directory principale.
~ Marco
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

Ok allora ipotizzo una subdirectory in una /home/user/ dove user possa caricare dei files e il PHP possa gestirli con funzioni tipo :
file_exists, cp, mv, stat, md5_file quindi spostarli da li in un area di produzione...
Consigli su come gestrie i permessi per dar modo a user di caricare e PHP di gestire ?
Grazie
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: possibilità di modifica files in directory /home/user con php

Messaggio da marcomg »

GioMBG ha scritto: 19/05/2023, 11:38 Ok allora ipotizzo una subdirectory in una /home/user/ dove user possa caricare dei files e il PHP possa gestirli con funzioni tipo :
file_exists, cp, mv, stat, md5_file quindi spostarli da li in un area di produzione...
Consigli su come gestrie i permessi per dar modo a user di caricare e PHP di gestire ?
Grazie
Per fare quello per i file ti basta siano in lettura al gruppo. Le directory però devono avere permesso di lettura, scrittura ed esecuzione (oltre che il permesso s per i gruppi per manette il gruppo dei file creati).

Ma cosa l’utente deve spostare in produzione?
~ Marco
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

Ok,
ho creato sub in /home/user/sub

Codice: Seleziona tutto

chown user:www-data sub
poi gli ho dato i permessi full alla dir e a quello che ci stava dentro per fare il test che riesce :

Codice: Seleziona tutto

chmod -R 0777 sub
riesco a spostare / cancellare tutto quello che volgio con PHP...
MA il problema è che se user mette un file dento sub ha permessi solo per user e quindi dopo PHP non sposta...
soluzione che mi dicevi per far mantenere a sub per esempio 0777 o altro per far si che PHP riesca a spostare / cancellare ?
grazie
Giò
Avatar utente
marcomg
Administrator
Administrator
Messaggi: 8061
Iscritto il: 22/08/2011, 18:54

Re: possibilità di modifica files in directory /home/user con php

Messaggio da marcomg »

Devi dare il permesso s alla directory per il gruppo https://www.redhat.com/sysadmin/suid-sgid-sticky-bit
Se non basta devi cambiare l'umask https://access.redhat.com/documentation ... m-settings
~ Marco
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

non sono risucito ad eseguire i comandi, potresti scriverli ?
GioMBG
Newbie
Newbie
Messaggi: 21
Iscritto il: 11/05/2023, 9:36

Re: possibilità di modifica files in directory /home/user con php

Messaggio da GioMBG »

Guarda qui :
permessi chmod 2770 sulla dir /home/usr/sub

Codice: Seleziona tutto

chmod 2770 /home/user/sub
Umask locale ( in vsftopd.conf ) per i file caricati tramite FTP in modo che ereditino i permessi del gruppo correttamente.

Codice: Seleziona tutto

local_umask=002
Vedi conseguenze negative per la sicuerezza ?
Se local_umask=002 mantiene anche i permessi nelle altre directory MOLTO figo no ?
Rispondi