доступ для записи в каталог для админки - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть сайт с небольшой админкой. Административная область должна выполнять запись в каталог, но не хочет предоставлять права на запись в этот каталог группе или кому-либо еще (по соображениям безопасности). Как я могу изменить владельца каталога (и подкаталогов) на выполняющегося пользователя?

Ответы [ 3 ]

0 голосов
/ 26 сентября 2011

В PHP нет такого понятия, как олицетворение, поэтому вам придется жить с одним пользователем ОС, выполняющим все действия, независимо от того, вошел ли пользователь на ваш сайт (гость / пользователь / администратор).

0 голосов
/ 26 сентября 2011

Я объясню, как мы управляем на наших установках.

У нас есть две группы - «веб-мастера» и «загрузки». Каждый веб-разработчик является членом обеих групп. Apache является участником только группы "uploads". У нас есть маска, установленная на 002, и флаг + s для каталогов.

Наши права доступа к каталогу выглядят так:

drwxrwsr-x  3 romans    webmaster  4096 Sep 19 16:56 locale
drwxrwsr-x  2 romans    upload     4096 Sep 23 17:27 logs
-rw-rw-r--  1 romans    webmaster   136 Sep 19 16:56 main.php

Это сработало для нас удивительно. Разрешения жесткие и последовательные. Любые файлы, которые PHP создаст, будут «загружаться» и, таким образом, будут доступны для редактирования всеми веб-мастерами. Любой другой контент веб-мастеров не будет редактироваться Apache.

0 голосов
/ 26 сентября 2011

Ваша PHP-программа будет работать с фиксированным идентификатором пользователя, если речь идет об операционной системе.Операционная система не знает, кто обращается к веб-сайту.

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

...