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

今、すべてが期待どおりに動作します。

関連情報