2

Я не уверен, есть ли ответ на этот вопрос в другом месте, или это слишком очевидно, но мне нужно иметь папку, которую я создаю с новым пользователем (администратором), как в Windows, так и в Ubuntu (где это возможно - желательно оба) и разрешить только мне измените его и всех остальных (включая администраторов), чтобы только выполнить его.

Было бы еще лучше, если бы файлы были доступны только для выполнения, а не для чтения, но я подозреваю, что это возможно. Я пытался изменить разрешения в окнах, но заблокированный пользователь (права администратора) может отменить настройки и снова иметь возможность редактировать.

То же самое с linux с командами chmod или chown.

Краткое объяснение моей ситуации и зачем мне это, если у кого-то есть альтернативное решение: мне нужно настроить локальное веб-приложение (с сервером), и я не хочу, чтобы пользователи могли изменять или, еще лучше, не могли видеть просто запустите php или javascript файлы из-за безопасности приложения.

3 ответа3

1

Я не уверен, что правильно понял. Находится ли локальное веб-приложение в той же локальной сети, что и пользователи, или на том же компьютере?

Если он находится на том же компьютере, вам нужно защитить файловую систему с помощью chmod/chown и защитить ваш веб-сервер. Тем не менее, этот способ действий особенно небезопасен. Это уже сложно с непривилегированным пользователем, но если у ваших пользователей есть права администратора, изменение разрешения на чтение / запись / выполнение не помешает им взглянуть на ваш сценарий и изменить его, если они захотят. Вы ничего не можете сделать против этого: у них есть все силы, как и у вас.

Если он находится в той же локальной сети, вам не нужно беспокоиться о том, кто что увидит на жестком диске сервера (ну, по крайней мере, не так много :)). Если пользователь A может получить доступ и изменить скрипт S при локальном входе в систему, он не сможет изменить S через веб-сервер. Если он может (или если кто-то может сделать это удаленно), то ваш веб-сервер настроен неправильно. Это не вопрос разрешения файловой системы, это вопрос конфигурации веб-сервера.

Javascript более сложен, чем PHP: PHP выполняется на сервере. Ваш клиент не должен видеть это. Javascript выполняется на клиентском компьютере. Если он хочет прочитать / изменить и выполнить этот скрипт, он может. Однако, если он это сделает, это ничего не изменит на вашем сервере: он может изменить только свою локальную копию скрипта.

РЕДАКТИРОВАТЬ:

Единственный способ скрыть вещи от других администраторов:

  • Шифрование ваших файлов
  • Настройте ОС, чтобы скрыть их

Соответствующие проблемы:

  • Зашифрованные файлы не могут быть выполнены как они есть. Они должны быть расшифрованы до исполнения. Это означает, что ваш PHP-скрипт должен быть где-то в открытом виде. Это означает, что любопытный администратор может делать с ним все, что захочет.
  • Есть способы скрыть файлы под Windows, используя некоторые специфические настройки реестра (как некоторые вирусы используют, чтобы скрыть себя). Также можно изменить ядро Linux, чтобы сделать то же самое. Но, опять же, любопытный / мотивированный администратор может отменить эти изменения или найти обходной путь. И, угадайте, что вам все еще нужно сделать свой скрипт видимым для пользователя веб-сервера: как администратор, так легко выдать себя за такого пользователя (найден тривиальный обходной путь)...

Заключение, как я уже говорил, вам нужен компьютер, на котором другие пользователи не имеют прав ... Или, что еще лучше, компьютер, на котором они не могут войти!

1

Проблема, с которой вы сталкиваетесь, заключается в том, что у вас есть люди с правами администратора /root на сервере. Наличие таких привилегий дает им полный доступ ко всему на этом сервере, и вы ничего не можете с этим поделать. Даже если вы измените настройки владельца или безопасности, они смогут вернуть их обратно. Такова природа пользователя "суперпользователь" - полный контроль.

Вы можете переместить веб-приложение на сервер, на котором у них нет прав администратора /root, и тогда ваша проблема решена. На отдельной машине вы можете дать им только те привилегии, которые им нужны.

0

Альтернативное решение, которое я нашел, - это бесплатное приложение для Windows:

Easy File Locker - http://www.xoslab.com/efl.html , который отлично справляется с этой задачей.

Единственная проблема у меня в том, что <?php include ''; ?> не работает, если файл скрыт, но редактирование очень хорошо заблокировано для всех файлов.

Все еще ищу альтернативу Linux / Ubuntu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .