作为“ root”用户,我像curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin -- --filename=composer
一样安装了作曲器,默认情况下,它会在/root/.composer中创建vendor-dir,cache等。我想以根用户身份安装一些全局软件包,并让其他用户使用这些软件包。例如
> whoami
root
> composer global require hirak/prestissimo (It makes packages download in parallel)
> su www-data
> cd /var/www/drupal
> composer install
预期的行为:应该在全局安装hirak / prestissimo的同时并行下载软件包,但不会。因为当我安装该软件包时,它位于/root/.composer/vendor中,并且切换到www-data后,它无法读取/写入/root/.composer/vendor
答案 0 :(得分:0)
我将使用绑定挂载,这是堆栈交换中的一篇文章,然后我可以更详细地介绍它:
https://unix.stackexchange.com/questions/198590/what-is-a-bind-mount
我以前使用它来摆脱CHROOT限制,例如C-Panel用户被限制为/home/user
,因此他们不能访问任何超出此限制的内容。使用绑定挂载,您可以将文件夹上方的文件夹链接到其Jail中的文件夹。