具有 selinux 系统范围的 Composer

具有 selinux 系统范围的 Composer

我在 ubuntu 上有 5 个用户,想要为他们所有人安装 Composer 和其他软件包,例如 phpmd。我已经安装了作曲家/usr/local/bin/

与 Composer 一起安装的 phpmd 位于~/.composer/vendor/bin/.我已将上面的路径符号链接到/usr/local/bin/compbin并将其添加到/etc/profile.d/comp.sh

我可以从任何地方运行 phpmd 和 Composer。其他用户可以运行 Composer,但无法运行通过 Composer 安装的任何软件包。

我将所有用户添加到同一组,chmod -R 775 ~/.composer/venodr/bin/但仍然找不到命令。我可以看到那/usr/local/bin/compbin是他们的道路。

当我这样做时,ls -Z我看不到任何像其他人一样的上下文/usr/local/bin。这只是问号?而不是上下文。

我做错了什么?在系统范围内安装 Composer 和其他软件包的最佳方法是什么?

如果我尝试以 root 身份运行作曲家,它会抱怨并且不执行任何操作。

答案1

让它工作:

在 /etc/profile.d/comp.sh 中设置以下内容

export PATH=$PATH:/usr/local/composer/vendor/bin
export COMPOSER_HOME=/usr/local/composer
export COMPOSER_VENDOR_DIR=/usr/local/composer/vendor

更改了 /usr/local/composer 的权限和组

chown -R :users /usr/local/composer
chmod -R 775 /usr/local/composer

现在一切都按预期进行。

相关内容