Я пытаюсь понять, как настроить права доступа к файлам на моем сервере. Я прочитал замечательное руководство https://serverfault.com/questions/357108/what-permissions-should-my-website-files-folders-have-on-a-linux-webserver.
1. посетители моего сайта
В руководстве говорится
Анонимные пользователи - это посетители вашего сайта. Хотя у них нет прав доступа к файлам напрямую, они могут запросить веб-страницу, и веб-сервер действует от их имени. Вы можете ограничить доступ анонимных пользователей, внимательно следя за тем, какие разрешения имеет процесс веб-сервера. Во многих дистрибутивах Linux Apache работает как пользователь www-данных, но может отличаться. Используйте PS Aux | grep httpd или ps aux | grep apache, чтобы увидеть, какой пользователь Apache использует в вашей системе.
Я использую XAMPP на своем ноутбуке. Если я введу ps aux | grep httpd
я получаю
adam 6635 0.0 0.0 21292 960 pts/1 S+ 15:51 0:00 grep --color=auto apache
Итак, Апач работает как adam
. Далее у меня есть файл с именем test2.php
со следующим разрешением:
-r-------- 1 adam adam 24 Dez 31 15:20 test2.php
Так что только владелец файла может прочитать его. Но так как Apache является владельцем, я ожидал, что, если я запросю файл в своем браузере, я смогу прочитать его.
Тем не менее, я получаю следующую ошибку
Предупреждение: Неизвестно: не удалось открыть поток: в строке 0 отказано в разрешении Неизвестно
Неустранимая ошибка: неизвестно: не удалось открыть файл '/home/adam/www/site/test2.php' (include_path = '.:/ Opt / lampp / lib / php') в строке "Неизвестно" в строке 0
Но разве приведенная выше цитата не предполагает, что я должен иметь к ней доступ из-за
они могут запросить веб-страницу, и веб-сервер действует от их имени.
2. PHP файлы
Рассмотрим PHP-файл, состоящий из
<?php
$string = fopen("stuff.txt","r");
Может ли php-файл открывать stuff.txt
только если он stuff.txt
для чтения other
классом разрешений? Или это также будет доступно для чтения, если Apache является владельцем файла и имеет разрешение на чтение, а other
класс доступа не имеет разрешения на чтение?