читать только символическую ссылку или что-то подобное?

Я создал себе NAT для домашнего использования (Ubuntu + Samba + Greyhole + Apache + MySQL + другой материал, связанный с веб-сервером). 90% файлов, которые я храню, есть картинки, которые я действительно не хочу потерять (вот почему Greyhole). По мере того, как галерея изображений становится все больше и больше, мне пришла в голову идея создать галерею веб-изображений, где я мог бы сортировать образы через теги, которые позволяли бы искать позже и т. Д. Создание галереи на самом деле не проблема, так как я очень удобен с php / mysql / CSS / JS.

Моя проблема заключается в обеспечении безопасности и доступности файлов на уровне системы.

Веб-приложение (галерея) dir: var/www/html с владельцем www-data: www-data.

и изображения находятся в /LandingZone/images (ну, символические ссылки на изображения есть, так как сами изображения копируются и перемещаются по серой).

/LandingZone/images принадлежит: myusername1: greyhole (группа greyhole – группа, в которой есть: пользователи myusername1 и myusername2, поскольку они оба должны иметь доступ к чтению / записи акций).

Теперь мне нужно сделать так, чтобы разрешить доступ только для /LandingZone/images для пользователя www-data, не подвергая риску риску, и я не знаю разрешения групп Linux / пользователей так хорошо, как хотелось бы чувствовать себя комфортно и проверить самостоятельно.

Сам веб-сервер доступен через Интернет, поскольку я настраивал функцию dyndns как услугу, поэтому я бы не хотел, например, поместить пользователя www-data в группу серых дыр и позволить злоумышленнику удалить все снимки или что-то в этом роде.

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

Мне удалось получить эту долю как-то «понравившуюся» из /var/www/html/gallery/images , используя:

 $ mount --bind /LandingZone/images /var/www/html/gallery/images $ mount -o remount,ro /var/www/html/gallery/images 

но мой веб-сервер не имеет доступа к этим файлам из-за собственности (я думаю).

Теперь, как мне с этим справиться? Могу ли я просто поместить пользователя www-data в группу серых червей, чтобы веб-сервер получал доступ к файлам и все еще был в безопасности, например, злоумышленник, который берет на себя управление программным обеспечением галереи, не сможет удалять изображения? Или я должен сделать это другим способом, даже не используя mount?

Я открыт для предложений.

Лучший тип безопасности файла сети читается с db, если возможно, импорт в db, такой как mysql или postgresql и при запросе пользователя вы выбираете из db.

У вас есть два типа файлов изображений:

  • файлы bieng рассматриваются как часть вашего html ### you have to save as file no db
  • файлы создаются как часть вашего контента ### you have to save-restore into/from db