У меня установлен git. Я с компьютера редактирую файлы, а затем делаю
git add .
git commit -m "fromlocal"
git push origin master:master
pause
чтобы файлы оказались на сервере.
Всё хорошо до момента, папка я не создам папку и отправлю её на сервер. В данном случае есть папка video2, созданная на моём компьютере и отправленная через git. Если я захочу выполнить PHP скрипт, который записывает что-то в эту папку, то получу ошибку:
Warning: file_put_contents(video2/2.dav): Failed to open stream: Permission denied
Если я сделаю
chown -R www-data /var/www
, то ошибка уйдёт до того момента, пока я снова не грузану на сервер новую папку.
ChatGPT предложил добавить пользователя www-data в группу git. После этого я потерял доступ к ssh у пользователя git. Когда удалил его из группы - всё вернулось.
$ groups git
git : git www-data
$ groups www-data
www-data : www-data
$ ls -l /var/www/web/cam
total 44
-rw-rw-r-- 1 www-data git 20340 Mar 21 16:07 engine.php
-rw-rw-r-- 1 www-data git 47 Mar 21 02:04 index.php
-rw-rw-r-- 1 www-data git 821 Mar 21 04:57 mjpg.php
-rw-rw-r-- 1 www-data git 276 Mar 21 15:37 test.php
drwxrwxr-x 2 www-data git 4096 Mar 21 15:49 video
drwxrwxr-x 2 git git 4096 Mar 21 16:43 video2
-rw-rw-r-- 1 www-data git 385 Mar 21 02:10 webapp.php