我的目标是使用 Composer 安装 Magento
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