Задать вопрос
@nikita0509

PHP: mkdir, почему permission denied при 0777?

Есть проект на yii2
Всей папке задаю права 777, но у меня все равно permission denied.
Warning: mkdir(): Permission denied in /var/www/www-root/data/www/xndaasdqfjqwm7b.xn--p1ai/vendor/yiisoft/yii2/helpers/BaseFileHelper.php on line 488


SELinux Policy - не включен "SELinux status: disabled"
Что делать
  • Вопрос задан
  • 11859 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 5
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
В этой ошибке указано, что php скрипт, расположенный тут:
/var/www/www-root/data/www/xndaasdqfjqwm7b.xn--p1ai/vendor/yiisoft/yii2/helpers/BaseFileHelper.php
видимо пытается создать папку ( mkdir() line 488)

Так какой именно папке вы права задаете?
Посмотрите в коде/логах, какую папку он пытается создать и где и вот там уже и назначайте права.
Ответ написан
Комментировать
L0k1
@L0k1
подозреваю что проблема в овнере
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
А не-латинское имя папки Вас не смущает? Есть системы, которые очень нервно относятся к именам
Ответ написан
shambler81
@shambler81 Куратор тега Linux
в 99% случаях это не понимание всей системы прав линукс
В вашем случае это скорее всего владельцы файлов и группы
По мима 777 так же у файла есть владелец и группа
1. отвечает что этот юзер попадет в первую семерку
вторая за вторую
3 соотваетственно все левые
права на файлы выгледят реально так
index.php root:root 777
В вашем случае вы оперируете самой маской 777
но не забываете что вы даже не тот пользователь.
А апачь может например не иметь прав создавать в этой директории.
Так что сделайте ls - l
посмотрите права
Далее поменяйте владельца на правильного
так
chown -R bitrix:bitrix /home/bitrix/ext_www/site.ru

В вашем случае скорее всего этоwww-data:www-dataили apache:apache
-R -рекурсивно
Команда потенциально опасная и пишите ее всегда с полным путем а не "." уж больно шустро она меняет права.
ДАлее если все решилось то не работайте от рута а от того полльзователя от кооторого работает сайт.
Ну или меняйте права постоянно.
А вот если не заработало то нужно знать еще о нескольких моментах
Есть еще дополнительные права и даже утилиты ограничивающие скажем специфические вещи, например разрешающие только дописывать. Или запрещающие удалять что-либо в этом каталоге но разрешающие создавать . это отдельная история.
В любом случае с вас ls -la текущей директории и такой же список с работоающей валидно
Так же есть специфические моды представления php которые запрещяют все что кроме 644 755, вплоть до 777 ;).
Ответ написан
@yaror
10 лет в мобильном телекоме
А опечатки нет?
Права 777 или 0777?
Должны быть с нулём, в восьмеричной системе )

Еще, как вариант, может быть, на родительской папке висят какие-то ACL? Что говорит такая команда:
getfacl <имя-папки-в-которой-Вы-создаёте-подпапку>?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы