GNU/Linux >> Linux Esercitazione >  >> Linux

Esecuzione di Apache come utente diverso

Apache deve essere eseguito inizialmente come root per collegarsi alla porta 80. Se non lo si esegue inizialmente come root, non è possibile eseguire il binding alla porta 80. Se si desidera eseguire il binding a una porta superiore a 1024, sì, è possibile. Altrimenti non preoccuparti di root. Questo è il processo principale di Apache e non serve alcuna richiesta. Genererà processi figli e rilascerà i privilegi per la gestione delle richieste.

Per cambiare l'utente Apache imposta User e Group parametri nella configurazione di Apache.


@bahamat lo spiega abbastanza bene, ma aggiungerò qualche dettaglio in più.

Nel corso del normale funzionamento, il processo apache di proprietà di root non eseguirà alcuna operazione effettiva diversa dall'ascolto sulla porta 80 e dall'inoltro delle connessioni in entrata alla sua (sicuramente non privilegiata, come www-data utente) bambini.

La posizione del file di configurazione principale dipende dalle opzioni in fase di compilazione e varia in base alla distribuzione, ma /etc/apache2/apache2.conf è una buona ipotesi di partenza.

Inoltre, se stai configurando un sistema di web hosting multiutente, potresti voler esaminare SuExec e fcgid in modo che il processo apache di ogni singolo utente di web hosting venga eseguito come detto utente, in modo che se un utente è negligente con la propria sicurezza, l'altro gli utenti non saranno interessati.


Almeno in Ubuntu, le impostazioni per questo sono in /etc/apache2/envvars . Modifica quelli, quindi riavvia Apache e sei pronto e funzionante.


Linux
  1. Ssh:sposta un'applicazione in esecuzione su un server X diverso??

  2. Creare un file come utente e gruppo diversi?

  3. Apache/Mysql non è in esecuzione. Sbagliato?

  4. Come visualizzare i processi in esecuzione di qualsiasi utente in SSH?

  5. Installa WordPress su Linux con Apache

Come installare Apache ZooKeeper su Ubuntu

Apache non può accedere al file mentre ha l'autorizzazione?

Impostazione dell'umask dell'utente Apache

Configura Jenkins per diversi user.home

Differenziare ogni utente Apache e concedere le autorizzazioni

Qual è la differenza tra root e sudo?