Как сделать дать права на chmod() через PHP под докером?
Доброго дня.
Решил попробовать Yii3, склонировал, запустил под докером. На компе винда 10 + WSL. В принципе докер работает нормально, несколько рабочих проектов на нём успешно развёрнуты. Фреймворк в этом случае не важен, просто для контекста.
Под копотом фреймворк дёргает комадну php-функцию chmod() для того, чтобы сгенерировать ассеты, после чего падает с ошибкой chmod(): Operation not permitted.
Суть ошибки я понимаю, но исправить не смог. Подскажите, как мне выдать права скрипту на эту операцию?
chmod - дает флаги доступа владельцу, группе и остальным, например 777 или 555
но естественно, что любой левый юзер не может на чужие файлы разрешения ставить, для этого надо владельца назначить у файла того, от которого php запускается, а от кого я не знаю, это уже как вы там у себя накрутили, вы же администратор своего проекта и вероятно имеете на то компетенции, если нет - привлекайте девопсов чтобы вам всё настроили.
Смотрите что такое права доступа и что такое chown/chmod...
Я знаю, что такое chown/chmod. Не понимаю как раз, кому и на что выдавать права.
Как я "накрутил" - я постарался описать в вопросе.
Совет привлечь девопсов для того, чтобы потрогать новый фреймворк, мне не очень подходит.
Про компетеции - настраивать окружение я ещё учусь, поэтому и пришёл с вопросом.
bdFregat, создайте папку и дайте на нее права 777,
mkdir 123
chmod 777 ./123
дальше создайте новый файл средствами PHP в этой папке
<?php
$a="123333";
file_put_contents(....);
, дальше в WSL гляньте кто владелец вновь созданного файла ls -l ./123/file.txt
ну и этому пользователю можете давать права к тем папкам где проблемы, скорей всего там не будет конкретного пользователя в WSL, а будут uid|guid и надо по этим айдишкам владельца задавать