Apache не может получить доступ к смонтированному диску даже при наличии соответствующих разрешений

Apache не может получить доступ к смонтированному диску даже при наличии соответствующих разрешений

Я все еще учусь, поэтому, пожалуйста, отнеситесь ко мне с пониманием.

Я установил Apache, php и mysql, и у меня запущены некоторые vhosts, использовал certbot для защиты доменов, и там все хорошо. Я могу получить доступ к домену, запускать скрипты и т. д.

У меня также есть внутренний массив RAID 1, отформатированный в ext4 и смонтированный с /media/mcp/Vaultпомощью следующей записи в fstab:

/dev/disk/by-uuid/e80c874e-b7cf-4cd0-ab00-1b1a43b88516 /media/mcp/Vault auto nosuid,nodev,nofail,x-gvfs-show 0 0

Скрипт, о котором идет речь /var/www/domain.com/testwrite.php, содержит только следующий код:

<?php

$dir    = '/media/mcp/Vault';
$files  = scandir($dir);

print_r($files);
  • /media/принадлежит root:rootи имеет разрешения 0755.
  • /media/mcp/принадлежит root:rootи имеет разрешения0750
  • /media/mcp/Vault/принадлежит www-data:www-dataи имеет разрешения0777

Однако при запуске этого скрипта возникает следующая ошибка:

Warning: scandir(/media/mcp/Vault): failed to open dir: Permission denied in /var/www/domain.com/testwrite.php on line 8

Warning: scandir(): (errno 13): Permission denied in /var/www/domain.com/testwrite.php on line 8

Строка 8, $files = scandir($dir);конечно.


Редактировать:

Я добавил следующее /etc/apache/apache.confк связанному вопросу:

<Directory /media/mcp/Vault/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

... и перезапустил Apache, но изменений не произошло; я все еще получаю те же ошибки.

Затем я изменил код /mcp/на 0755, и, как мне кажется, сочетание этих двух изменений решило мою проблему.

решение1

Попробуйте изменить код в каталоге. Это будет выглядеть так:

<Directory /media/mcp/Vault/> Options -Indexes AllowOverride All Require all granted </Directory>

Надеюсь, что это работает.

Связанный контент