Как настроить полномочия/владение файла для FTP/Apache/PHP на CentOS

Можно или явно указать переменные среды, которые Вы хотите наверху Вашего crontab, или можно получить среду от где-нибудь.

Для добавления переменных среды явно можно использовать строку как это наверху сценария (после hashbang):

FOO=bar

Для определения источника их из файла используйте строку как это:

. /foo/bar/baz

В ответ на Ваше редактирование Вашего вопроса включать gpg-agent, необходимо смочь получить ~/.gpg-agent-info добираться $GPG_AGENT_INFO. Если это не существует, попытайтесь запуститься gpg-agent с --write-env-file "${HOME}/.gpg-agent-info".

2
25.06.2016, 15:33
2 ответа

Вместо того, чтобы пытаться заставить ftp работать с апачем делают наоборот, который является самым безопасным approch.

Используя suPHP и suExec заставит Вашего апача использовать пользователя для создания независимо от того, что ему нужно, и ftp уже использует пользователя сам.

Вот то, как скомпилировать апача с suPHP на песнях: http://markus.revti.com/2010/03/installing-suphp-on-centos-5/

Если у Вас есть правый репозиторий в Вашем списке, можно попытаться: yum install mod_suphp

Кажется скорее простым практическим руководством, которое я сомневаюсь, что Вы испытаете затруднения из-за.

Любые вопросы сообщают мне, и я помогу Вам с тем, что я могу.

Для получения дополнительной информации о suPHP.

Для получения дополнительной информации о suExec.

2
27.01.2020, 22:01

Apache работает как определенный пользователь (обычно httpd), но в зависимости от того, как он настроен, PHP может работать как то же или другой пользователь:

  • Если PHP будет выполнен как модуль, то это будет тот же пользователь как Apache.
  • Если PHP будет выполнен как CGI (очень редкий) затем, то он будет обычно работать как тот же пользователь, если Apache не будет настроен для использования suexec (в этом случае, пользователь будет в конфигурации).
  • Если PHP будет работать как FastCGI, то он будет работать как безотносительно пользователя, которого он был настроен для выполнения как.

Это далее осложнено suPHP, который подобен ситуации с CGI за исключением того, что скрипт запущен с uid владение файлом сценария.

Ограничения здесь состоят в том что:

  1. Директора/файлы, перезаписываемые веб-сервером uid (и PHP uid), должны быть очень ограничены и где это перезаписываемые особые условия, должен быть помещен в предотвращение нападений инжекции кода.

  2. Обычно обычные пользователи не могут записать файлы как другой uid - и по-видимому файлы кода PHP должны сохраняться (т.е. перезаписываемый пользователями.

Обратите внимание, что, является ли файл PHP исполняемым файлом веб-сервером, не имеет никакого отношения к исполняемому файлу, обдумал файл (но он имеет непосредственное отношение к исполняемому файлу, обдумал каталог, который содержит его).

Я должен поместить пользователя FTP и апачский сервер в группу?

Наверное, нет. Я рекомендовал бы рассматривать webserver/PHP как "другой" - так для любого содержания (включая PHP), чтобы быть доступным веб-сервером, полномочия должны быть:

  • пользователь: читайте, запишите
  • группа: зависит от Вашей политики
  • другое чтение

т.е. 0644 (как выше исполняемых полномочий не релевантны), и для каталогов:

  • пользователь: читайте, запишите, выполнитесь
  • группа: зависит от Вашей политики
  • другое: читайте, выполнитесь

т.е. 0755

2
27.01.2020, 22:01

Теги

Похожие вопросы