GNU/Linux >> Znalost Linux >  >> Linux

Spuštění Apache jako jiný uživatel

Apache musí zpočátku běžet jako root, aby se mohl svázat s portem 80. Pokud jej zpočátku nespustíte jako root, nemůžete se svázat s portem 80. Pokud se chcete svázat s nějakým portem nad 1024, pak ano, můžete. Jinak se o roota neboj. To je nadřazený proces Apache a neobsluhuje žádné požadavky. Vytvoří podřízené procesy a zruší oprávnění pro zpracování požadavků.

Chcete-li změnit uživatele Apache, nastavte User a Group parametry ve vaší konfiguraci Apache.


@bahamat to vysvětluje docela dobře, ale přidám trochu více podrobností.

V průběhu normálního provozu nebude proces Apache vlastněný root provádět žádné skutečné operace kromě naslouchání na portu 80 a předávání příchozích připojení na svůj (bezpečně neprivilegovaný, jako www-data uživatel) děti.

Umístění hlavního konfiguračního souboru závisí na možnostech kompilace a liší se podle distribuce, ale /etc/apache2/apache2.conf je dobrý počáteční odhad.

Také, pokud nastavujete webhostingový systém pro více uživatelů, možná budete chtít nahlédnout do SuExec a fcgid, aby proces Apache každého jednotlivého uživatele webhostingu běžel jako uvedený uživatel – takže pokud jeden uživatel zanedbá zabezpečení, ostatní uživatelé nebudou ovlivněni.


Alespoň v Ubuntu jsou nastavení v /etc/apache2/envvars . Vylaďte je, restartujte apache a můžete začít.


Linux
  1. Jak nastavit limity na uživatelské procesy v Linuxu

  2. Spuštění rootless Podman jako uživatel bez root

  3. Získat čas uživatele a jádra běžícího procesu?

  1. Možnosti Su – Spuštění příkazu jako jiný uživatel?

  2. Restartujte Apache

  3. Nastavení umask uživatele Apache

  1. Ssh – přesunout běžící aplikaci na jiný X server?

  2. Vytvořit soubor jako jiný uživatel a skupina?

  3. Odlište každého uživatele Apache a udělte oprávnění