Вы можете создать другую группу и добавить www-data
(если ваш веб-сервер работает под именем www-data
) к этой группе, а затем назначить эту группу всем тем файлам, которые вы хотите сделать доступными.
Или, если вам просто нужно разрешение на чтение, и другие пользователи системы не имеют права на чтение ваших файлов, просто измените разрешения ваших файлов (в других местах), чтобы иметь разрешение на чтение для other
. Например, 775
для ваших каталогов и 644
для ваших файлов.
Помните, что вы не можете обслуживать страницы в местах, отличных от корня документа (например, / var / www), даже если у пользователя вашего веб-сервера есть права доступа к этим файлам.
Однако, если вы настроите «псевдонимы» или «виртуальные хосты» для своего веб-сервера, вы можете сделать места, отличные от корневого документа по умолчанию, доступными для HTTP-запросов.
Но файлы PHP, которые находятся в корневом каталоге вашего документа и выполняются веб-сервером, МОГУТ прочитать содержимое файлов вне корневого каталога документа, ЕСЛИ у пользователя веб-сервера достаточно прав.
// file permissoins
/tmp/shared_by_all.txt -> 644
/home/user1 -> 751 or 755
/home/user1/shared_by_all.txt -> 644
/home/secureuser -> 750
/home/secureuser/myfile.txt -> 640 (or even 644 because of the containing directory permissions, other can not even enter the directory tree. so file is not accessible)
// file: /var/www/read_file.php
<?php
echo file_get_contents('/tmp/shared_by_all.txt'); // ok!
echo file_get_contents('/home/user1/shared_by_all.txt'); // ok!;
echo file_get_contents('/home/secureuser/myfile.txt'); // fail!;
?>