Попытка создать безопасную многопользовательскую среду с ограниченными правами пользователей и автоматическим развертыванием. Пример сделан простым, чтобы выразить идею.
Докрут: /var/www/site/staging/current/public
Развернуть пользователя site-staging:staging
Домашний каталог: /home/site-staging
Инструмент развертывания создает два каталога - релизы и текущий. Current - это символическая ссылка на подкаталог релизов, который изменяется при каждом обновлении сайта.
Ток тогда mount -a
в корень документа, который фактически монтирует каталог выпуска, поскольку вы не можете смонтировать символическую ссылку.
#/etc/fstab
/var/www/site/staging/current /home/site-staging/current none rw,bind
Имейте в виду, что текущий каталог является символической ссылкой и потребует размонтирования и повторного монтирования каждый раз при развертывании / обновлении сайта.
Как я могу ограничить пользователя развертывания их домашним каталогом (chroot), а также автоматически монтировать текущий каталог в docroot?
Это единственный вариант? Есть ли лучшая стратегия?
Вы можете использовать свой домашний каталог / home / site-staging / current в качестве корневого каталога. Затем каждый раз, когда вы развертываете и воссоздаете текущую символическую ссылку на ваш выпуск, ваш сайт будет обновляться.