+ Rispondi alla Discussione
Risultati da 1 a 18 di 18

Creare un hosting e impostare permessi UID su cartelle utenti

Ultimo Messaggio di paolino il:
  1. #1
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126

    Creare un hosting e impostare permessi UID su cartelle utenti

    Ciao a tutti ragazzi,
    ho 2 problemi
    1. Vorrei fare un piccolo hosting free solo che non vorrei usare safe mode per dividere le cartelle secondo gli UID che assegna pureftpd, ma vorrei dividere le cartelle sempre per UID ma con safe mode off come posso fare?
    2. Quando creo una cartella con il php invece di mettere l'UID del file php che l'ha creata, mette l'UID 33 cioè quello di www-data come faccio a fargli ereditare l'UID del file che ha creato la cartella o il file??

    Grazie in anticipo
    Ciao

  2. #2
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Considera che lo script viene invocato dall'utente www-data, quindi è chiaro che devi procedere internamente per fare quello che chiedi.

    In primo luogo essendo un hosting l'utente dev'essere loggato per scaricare/editare/cancellare i file.

    A questo punto puoi benissimo usare chown e chmod per settare il proprietario e i permessi sui file.

  3. #3
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126

    Non esiste un modo per forzare UID e GID?

    Se voglio forzare come accade con curlftpfs (permettere di mappare percorsi FTP), che se crei un file con php, curlftpfs "forza" ad applicare al file un UID e GID settati nei parametri nel mount, forse facendo un mount è possibile? Oppure esiste un altro modo?
    Ultima modifica di frank92; 25-03-10 alle 14:44

  4. #4
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    In questo caso è il programma che fa l'upload a dover settare i permessi. Io infatti parlavo dello script php per l'upload, tipo i filemanager web-based di molti hosting.

  5. #5
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Citazione Originariamente Scritto da paolino Visualizza Messaggio
    In questo caso è il programma che fa l'upload a dover settare i permessi. Io infatti parlavo dello script php per l'upload, tipo i filemanager web-based di molti hosting.
    Intendo apache2 quando crea un file non può settare lo stesso UID e GID del file php che ha eseguito il comando crea file?
    Il vecchio php 5.2 lo faceva da quanto mi ricordo, ma php 5.3 mette l'UID di www-data!

  6. #6
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    No anche prima agiva così. Forse la tua installazione era modificata evidentemente, ma di default php gira con l'utente impostato per apache e quindi i file creati appartengono a quell'utente.

  7. #7
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Citazione Originariamente Scritto da paolino Visualizza Messaggio
    No anche prima agiva così. Forse la tua installazione era modificata evidentemente, ma di default php gira con l'utente impostato per apache e quindi i file creati appartengono a quell'utente.
    E come faccio a ripristinare quest'impostazione!?

  8. #8
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Semplicemente usando mod_suphp.

    In pratica php non viene più eseguito dall'interno di apache come plugin, ma viene lanciato tramite cgi come processo a sè stante e con l'uid dell'utente che l'ha lanciato ovviamente.

  9. #9
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Citazione Originariamente Scritto da paolino Visualizza Messaggio
    Semplicemente usando mod_suphp.

    In pratica php non viene più eseguito dall'interno di apache come plugin, ma viene lanciato tramite cgi come processo a sè stante e con l'uid dell'utente che l'ha lanciato ovviamente.
    Come posso installare la mod_suphp su Debian 4.0 con apache2 installato con apt-get?

  10. #10
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Segui questa guida http://www.pc-freak.net/blog/installing-suphp-on-debian-lenny-5-04-with-apache-2-2-9-2/

  11. #11
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126

    Urgentissimo!!!!!!!!!!!!!!!!!

    AIUTOOOO!!!!!
    Ti spiego un pò la mia situazione grave:

    - Il filesystem del VPS non mi consente + di 275 IDs
    - Devo dividere le cartelle degli utenti in modo che nessuno
    possa accedere alle altre.
    - Uso Debian 4 etch 64bit
    - Uso vsftpd con lib-pam mysql


    Cosa devo fare per favore è urgentissimo nn so + che fare!!

  12. #12
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Con ID a cosa ti riferisci? Il filesystem non supporta nessun ID.

    Intendi forse gli utenti unix o quelli di proftp?

  13. #13
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Intendo gli utenti unix.
    Cmq il mio problema è che vorrei utilizzare un solo
    uid e gid per tutti gli utenti.
    Ho visto in giro che hosting free come altervista e altri non usano la safe mode in php per bloccare gli accessi alle cartelle degli altri utenti,
    ma quando vuoi fare un operazione esterna alla tua radice ti da semplicemente pagina bianca!
    Come posso fare una cosa simile sul mio hosting??

    P.S. Rivedete il vostro forum mobile ha un problema nel invio della risposta!

  14. #14
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Beh se non usi il safemode devi avere per forza di cose un pannello di controllo user-aware.

    Il punto è che il safemode si preoccupa di implementare le restrizioni nel motore php, se non lo usi devi implementarle negli script php.

    Riguardo il numero di utenti unix, è chiaramente la strada sbagliata. Normalmente gli hosting condivisi usano mysql per memorizzare le informazioni sugli utenti ( è questo il motivo per cui proftpd usa mysql, proprio per creare una lista di utenti "virtuali" che non sono utenti unix ).

  15. #15
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Intendi gli utenti con l'ID da 9033 in poi? che vengono usati da proftpd, senza fare useradd?
    ma io non posso fare il chown di molti IDs, sennò mi appare disk quota exceed.
    Forse la soluzione potrebbe essere:
    <Directory /docroot>
    php_admin_value open_basedir /docroot
    </Directory>
    Che ne pensi?

    Oppure come dici tu con gli utenti virtuali, come posso fare hai una guida? Ricordando però che ho sempre un limite
    di IDs e dopo molti chown mi appare Disk quota exceed! e uso Debian etch 64bit

    P.S. Ti ricordo, rivedete il forum mobile non riesco a postare!
    Ultima modifica di frank92; 08-04-10 alle 14:11

  16. #16
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Citazione Originariamente Scritto da frank92 Visualizza Messaggio
    ma io non posso fare il chown di molti IDs, sennò mi appare disk quota exceed.
    Brutto affare, se hai bisogno di tante operazioni sui file mi sa che dovresti passare ad un dedicato. Il VPS è stato impostato con una quota specifica e al massimo puoi provare a chiedere all'hoster di aumentarla.

    Forse la soluzione potrebbe essere:
    <Directory /docroot>
    php_admin_value open_basedir /docroot
    </Directory>
    Che ne pensi?
    Questo qui limita semplicemente il webserver a muoversi da /docroot in giù, però non fa nessuna distinzione tra le directory dei vari utenti.

    Un altro modo è attivare questo blocco qui

    Codice:
    <Directory /home/*/public_html>
       AllowOverride FileInfo AuthConfig Limit Indexes
       Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
       <Limit GET POST OPTIONS PROPFIND>
         Order allow,deny
         Allow from all
       </Limit>
       <LimitExcept GET POST OPTIONS PROPFIND>
         Order deny,allow
         Deny from all
       </LimitExcept>
     </Directory>
    che praticamente ti dà la possibilità di accedere a http://www.nomedominio.ext/~nomeutente

    Ovviamente questo vale per gli utenti unix con tanto di home directory sotto cui creare poi la directory public_html in cui mettere tutti i file html, ecc...

    Oppure come dici tu con gli utenti virtuali, come posso fare hai una guida? Ricordando però che ho sempre un limite
    di IDs e dopo molti chown mi appare Disk quota exceed! e uso Debian etch 64bit
    Gli utenti virtuali di cui parlo riguardano proftp ma non apache e risolvono parte del problema.

    L'altra parte ( quella relativa ad apache e php ) la risolvi o col safe mode oppure col modulo suphp. Il primo pone limitazioni all'accesso di directory e files ed è sconsigliato. Il secondo invece esegue il web server non con l'user di default ( http, www-data o quello che lo è definito in debian ) ma con l'user corrente, cioè il proprietario dell'account di hosting dove gira il sito richiesto dall'utente.

    In questo modo se tu hai una directory principale ( /www ad esempio ) dove sotto tieni tutte le sottodirectory degli utenti ( /www/pippo, /www/pluto ... ) con i loro file html, jpeg e quant'altro, la prima cosa da fare è settare quelle sottodirectory di proprietà dell'utente legittimo ( pippo, pluto, ecc... ) e e del gruppo www-data ( quello del webserver ).

    In questo setti i permessi sulle directory a 600 ( cioè solo l'utente può leggere e scrivere ), gli altri non possono nemmeno leggere.

    Chiaramente ti serve un server che non abbia limiti sul numero di utenti e quote sulle operazioni sul filesystem e un VPS è inadeguato per questo tipo di operazione.

    Ti dò un pò di link sulla faccenda. http://httpd.apache.org/docs/2.0/vhosts/mass.html#xtra-conf questo qui riguarda la creazione di vhosts dinamici ( altrimenti bisogna riavviare apache ogni volta che un utente apre un account ).

    http://blog.stuartherbert.com/php/series-the-web-platform/ questo è un articolo dettagliatissimo su come gestire permessi e accessi per host condivisi.

    http://www.suphp.org/Documentation.html questa qui è la documentazione del modulo suphp.


    P.S. Ti ricordo, rivedete il forum mobile non riesco a postare!
    grazie per la segnalazione, la comunico agli amministratori

  17. #17
    Banned
    Data Registrazione
    Mar 2009
    Messaggi
    126
    Non esiste una specie di open_dir che agisca proprio su apache2 e no su php?

  18. #18
    Moderatore L'avatar di paolino
    Data Registrazione
    Apr 2005
    Località
    San Cipriano Beach
    Messaggi
    5,051
    Considera che anche se esistesse agirebbe sulla sessione di apache che ingloba tutti gli utenti che hanno l'account su quel server.

    Alla fin fine apache non ha modo di sapere che la directory X è dell'utente pippo.

    Poi c'è il problema di gestire l'accesso anche per il server ftp e quello è indipendente da apache.

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.