Пользователь в 'www-data' не может выполнить mkdir в Apache2 с помощью Composer
Моя цель - установить Magento с помощью Composer
composer create-project --repository=https://repo.magento.com/ magento/project-community-edition magento2
Installing magento/project-community-edition (2.2.6)
In ProjectInstaller.php line 68:
mkdir(): Permission denied
create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]
У меня есть пользователь
magento_user@roman-pc:/var/www/html$ groups magento_user
magento_user : magento_user www-data
У меня есть apache2
DocumentRoot /var/www/html
-------------------------------------------------------------------------
magento_user@roman-pc:/var/www/html$ ps aux | grep apache
root 1003 0.0 0.3 499316 30788 ? Ss 15:53 0:00 /usr/sbin/apache2 -k start
www-data 1066 0.0 0.2 501648 17608 ? S 15:54 0:00 /usr/sbin/apache2 -k start
www-data 1067 0.0 0.2 501648 17608 ? S 15:54 0:00 /usr/sbin/apache2 -k start
www-data 1068 0.0 0.2 501648 17608 ? S 15:54 0:00 /usr/sbin/apache2 -k start
www-data 1069 0.0 0.2 501648 17608 ? S 15:54 0:00 /usr/sbin/apache2 -k start
www-data 1070 0.0 0.2 501648 17608 ? S 15:54 0:00 /usr/sbin/apache2 -k start
magento+ 6363 0.0 0.0 14432 1004 pts/0 S+ 17:07 0:00 grep --color=auto apache
не должно присутствия www-data
предоставить моему пользователю полную привилегию на var/www/html
???
------------------------------------------------------------------
Обновить
после возни мой текущий статус
magento_user@roman-pc:/var/www/html$ ls -ld
drwxrwsr-x 3 root root 4096 ott 2 12:30 .
magento_user@roman-pc:/var/www/html$ mkdir duck
mkdir: cannot create directory ‘duck’: Permission denied
magento_user@roman-pc:/var/www/html$ mkdir duck
mkdir: cannot create directory ‘duck’: Permission denied
Почему у меня до сих пор нет rws
: читать, писать, (что за s
обозначает?)
1 ответ
Участие в группе автоматически не дает пользователю права на запись. Каждый файл имеет набор разрешений в linux, которые разрешают / ограничивают чтение / запись / выполнение для владельца файла, членов группы-владельца и других.
Вы должны проверить права доступа к файлу, как это
root@sergey-mint:~# ls -l /var/run/rsyslogd.pid
-rw-r--r-- 1 root root 3 Sep 28 14:54 /var/run/rsyslogd.pid
обрати внимание на -rw-r--r--
, это показывает, что владелец имеет разрешения на чтение / запись, члены группы-владельца имеют только разрешение на чтение, а все остальные имеют только разрешение на чтение.
В вашем случае у вас есть каталог, который немного отличается, но, тем не менее, это файл. Вы можете проверить права доступа к каталогу, добавив -d
флаг для ls
как это
ls -ld /var/www/html
чтобы иметь возможность писать туда с вашим magneto_user, вы должны убедиться, что владельцы группы имеют права на чтение, запись и выполнение. Для этого выполните следующую команду chmod g+rwx /var/www/html