У меня есть user1
, который является членом группы www-data
.
$ groups user1
> user1 : user1 www-data
Я не могу добавить / удалить что-то в / var / www / test
/ var / www / test
принадлежит www-data
$ ls -l /var/www/test
> drwxr-sr-x 2 www-data www-data 4096 aug 11 12:02 subtest
Как разрешить user1
управлять файлами и каталогами, созданными www-data
?
Я уже пытался
user1
на www-data
Наконец-то я нашел что-то более чистое
Добавление веб-каталога в личный каталог пользователя
mkdir -p /home/user1/websites/appOfUser1
chown -Rf user1:user1/home/devone/websites
chmod -Rf 770 /home/user1/websites
Затем добавление этой строки: / etc / fstab (предварительно установите bindfs)
bindfs#/var/www/application1 /home/user1/websites/appOfUser1 fuse force-user=user1,force-group=user1,create-for-user=www-data,create-for-group=www-data,create-with-perms=0770,chgrp-ignore,chown-ignore,chmod-ignore 0 0
И наконец, смонтируйте его!
mount /home/user1/websites/appOfUser1
он решает проблему параллелизма, поскольку каждый пользователь в уравнении (каждый разработчик и веб-сервер) видит разрешения, необходимые для правильной и безопасной работы;
он решает проблему непроницаемости, как если бы вам нужен один разработчик для доступа к конкретному приложению, вы должны добавить точку монтирования в его домашний каталог, но, наоборот, если вам нужен один разработчик, чтобы не получить доступ к определенному приложению, вам просто не нужно добавлять в него такую точку монтирования. домашний каталог.
он решает проблему стабильности, поскольку разработчики никогда не смогут изменить права доступа к файлам, установленные для файлов приложения, как того требует веб-сервер для правильной и безопасной работы.
Лучше всего, это просто разобраться и настроить!
Попробуйте следующее:
sudo chgrp -R www-data /var/www/test
sudo chmod -R g+w /var/www/test
Дополнительно:
sudo find /var/www/test -type d -exec chmod 2775 {} \;
sudo find /var/www/test -type f -exec chmod ug+rw {} \;
Надеюсь, вы понимаете значение приведенной выше команды, поскольку они довольно ясны.
Не забудьте выйти / войти.