Назад | Перейти на главную страницу

Apache 2: символические ссылки для файловых систем, монтируемых только для чтения

У меня есть большой репозиторий данных, который из соображений безопасности я хочу сохранить доступным только для чтения для виртуальной машины под управлением Ubuntu 14.04.

На этой виртуальной машине работает сервер Apache, и я хочу символически связать определенные файлы из подключенного только для чтения ресурса в (подкаталоги) public_html.

При попытке доступа к этим подкаталогам через браузер они пусты. Проверяя журнал ошибок Apache, я вижу следующую ошибку:

AH00032: Symbolic link not allowed or link target not accessible

Согласно ответам:

Apache не будет следовать Symlink

Символическая ссылка Apache 2 не разрешена или цель ссылки недоступна

https://unix.stackexchange.com/questions/20993/symbolic-link-not-allowed-or-link-target-not-accessible-apache-on-centos-6

Очевидно, что мне нужно chmod +x файлы и каталоги, чтобы Apache мог их получить. Однако это явно не может быть сделано с файловой системой только для чтения.

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

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

Есть ли у кого-нибудь другие предложения относительно того, как я могу получить доступ к файлам с символическими ссылками, размещенным на диске только для чтения?

Большое спасибо,

Дэвид

Временно смонтируйте файловую систему как RW, исправьте разрешения и снова смонтируйте ее как RO.

Отчасти благодаря ответу Иана я нашел решение.

На самом деле проблема возникла из-за параметров монтирования в fstab. Я изменил с:

data_raid /data_raid/ vboxsf defaults 0 0

к

data_raid /data_raid/ vboxsf defaults,gid=1000,uid=1000 0 0

куда gid=1000 соответствует моему имени пользователя.

Хост, на котором смонтирован ресурс (rw), уже был chmod+x. Однако, поскольку он был установлен root, я считаю, что это вызвало проблемы с доступом, описанные выше.

Перезагрузка с новыми параметрами монтирования (где группа и пользователь теперь являются теми, с которыми я вхожу в систему) разрешает доступ под Apache к файлам с символическими ссылками.