Stevie Wonder - I Wish (оригиналната версия)

Използвам Apache Worker-MPM, PHP 5.3.2 и FCGID.

Apache работи по-добре от преди, но забелязах, че има процес на Apache, който се изпълнява като root и втори процес, който се изпълнява като root и като wwwdata. Останалите процеси се изпълняват като wwwdata.

Някой срещал ли се е с това и безопасно ли е?

  • Как се изпълнява един от процесите на apache като root на двама потребители и wwwdata? Потребителят, под който работи, е зададен в основния конфигурационен файл. Бих проверил регистрационните файлове за достъп до сървъра (не apaches), проверих регистрационните файлове за достъп / потребител / приложение в / var / log и да видя дали виждате нещо подозрително
  • Нито един от дневниците не предоставя нещо необичайно. Нямам представа как протича по този начин.
  • @Anagio "Как се изпълнява един от процесите на apache като root на двама потребители и wwwdata?"Не мисля, че става въпрос за един процес, който се изпълнява като двама различни потребители (това няма да работи), а просто за два процеса, които се изпълняват като различни потребители. Това е нормално.
  • @Bruno В списъка с процеси има много изброени Apache процеси. Има такъв, чийто потребител е root, и такъв, чийто потребител е "root, wwwdata" Точно така изглежда. Не си спомням да съм виждал две потребителски имена, изброени така.
  • @flink, коя команда използвате, за да изброите процесите?

Apache Httpd стартира като процес, изпълняван от root за да можете да слушате портове <1024 (80 за HTTP и 443 за HTTPS). Нормалните потребители не могат да направят това.

В допълнение, някои конфигурационни файлове се четат само от root, по време на процеса на стартиране. Например вашият потребител на Apache (напр. www-data) не трябва да може да чете вашия файл с частен ключ, ако сте конфигурирали SSL.

Добре е да не стартирате всичко като root: по този начин грешка или компрометирана услуга не биха могли да нанесат толкова големи щети на системата, колкото когато се изпълняват като root.

РЕДАКТИРАНЕ:

(Току-що предположих www-data вместо wwwdata, но няма значение, той ще се изпълни, когато потребителят го настроите да работи.)

Нито един от дневниците не предоставя нещо необичайно. Нямам представа как протича по този начин.

Той просто се изпълнява по този начин: стартира процес като root и след това разклонява други потребители като избрания от вас потребител.

Ако получите идентификатора на основния процес (напр. С ps auwx | grep apache2, или grep httpd в зависимост от разпределението), след това изпълнете pstree -p -u THE_PROCESS_ID, трябва да видите ясно йерархията. Родителският процес винаги трябва да работи постоянно (в противен случай бихте убили и неговите дъщерни процеси).

Вижте User документация (Общи директиви на Apache MPM):

Ако стартирате сървъра като root, нормално е родителският процес да продължи да работи като root.

  • 1 UID и GID на www-data са под 1000, което не е разрешено от suexec / fcgid, затова създадох нов потребител, wwwdata с по-висок UID и GID, за да стартирам всичко.
  • Това беше страхотна информация. Имам нужда от сериозно проучване на командния ред. Благодаря!

е работил за вас: Charles Robertson | Искате ли да се свържете с нас?