cosa chmod e proprietario: le impostazioni del gruppo sono le migliori per un'applicazione web?

stiamo configurando un'applicazione web PHP su CentOS e abbiamo tutti i nostri file attualmente in / var / www / html / project /

Apache è configurato per eseguire come apache: apache e ha accesso alla directory di cui sopra. Adesso i nostri file e directory hanno i seguenti diritti:

  • Qual è il parametro `sshd_config` per impostare l'ora tra le richieste di password?
  • Samba, Apache e SVN. Ottenere i diritti delle autorizzazioni
  • Apache httpd errore "proxy: ap_get_scoreboard_lb" con ProxyPass
  • Apache RewriteRule per proxy
  • Le autorizzazioni di file predefinite vsFTPd su Ubuntu non funzionano
  • Portali di ascolto di Windows 7 TCP
  • proprietario = root group = apache

    DIRECTORIES: drwxr-x — root apache

    FILE: -rw-r —– root apache

    È una configuration sicura? Oppure è meglio utilizzare un nuovo utente, ad esempio "progetto", per essere proprietario di tutti i file e directory?

  • Come posso get Haproxy per non registrare le richieste locali?
  • Costruire un server web Linux
  • La modifica di file in un server di sviluppo LAMP non viene presa in considerazione
  • Quanta memory libera devo avere sul mio webserver?
  • Certificati SSL multipli su Apache che utilizzano più IP pubblici - non funzionano
  • Come configurare la directory del documento Apache?
  • 2 Solutions collect form web for “cosa chmod e proprietario: le impostazioni del gruppo sono le migliori per un'applicazione web?”

    È una pratica migliore per avere il proprietario qualsiasi account utente limitato utilizzato per caricare / gestire i file sul server. Il gruppo è spesso l'account che php sta eseguendo sotto, quindi in questo caso apache sarebbe corretto. Le altre autorizzazioni dovrebbero essere impostate a nulla, come sono. Sei vicino alla perfezione.

    Se si ha una situazione in cui più account possono modificare / modificare i file è ansible creare un script cron che chowns il dir recursivamente each ora per mantenere la properties; corretta. La stessa tecnica funziona per mantenere le autorizzazioni corrette pure.

    Inoltre, è ansible modificare l'umask dell'account utente limitato che ha la properties; per essere in linea con il tuo schema di autorizzazioni.

    Stai giocando sicuramente.

    Le tue impostazioni ti impediranno di creare cartelle aggiuntive in DIRECTORIES che dovreste avere su richiesta tramite apache.

    Suggerisco di utilizzare le seguenti autorizzazioni:

    DIRECTORIES: drwxrwx--- root apache FILES: -rw-rw---- root apache 

    Aggiungere gli sviluppatori al gruppo apache in modo che possa continuare a scrivere su questi file se wheressero accedere tramite ssh o ftp.

    È ansible avere permessi di file liberi se si può fidare di quali utenti li eseguono. Se sei un codice solido, puoi consentire al gruppo apache di fare di più con le autorizzazioni.

    Modifica: In generale apache:

     rwx if it needs to create folders rw if it needs to create files r if everything is static 

    Alla fine ciò che si riduce a è solo dare le autorizzazioni che devi. Renderli più conservatori ansible e aprirli mentre sviluppi l'applicazione se avete bisogno.

    Una piccola cosa sui gruppi. Vedrai alcuni esempi che mostrano questo (anche queste sono le impostazioni corrette):

     DIRECTORIES: drwxrwxrw- root somegroup FILES: -rw-rw-r-- root somegroup 

    Queste autorizzazioni sono necessarie per un'applicazione Web da eseguire perché l' utente apache non fa parte delle autorizzazioni di gruppo . In questo caso, apache è considerato tutti, quindi è necessario impostare le autorizzazioni per consentire a tutti di interagire con il tuo sito web. Da tutti non voglio dire tutti nel mondo (anonimi). Voglio dire chiunque sia attualmente un utente sul tuo server (guarda in / etc / passwd per get un elenco).

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.