次のコードを like という名前のファイルに入れるの/etc/profile.d/*.sh
は、目標を達成するための恐ろしい方法ですが、うまくいくかもしれません:
#/bin/sh
if [ "`id -u`" -eq "`id -u www-data`" ]; then
PATH="/opt/fop/latest:$PATH" ;
fi
現在のユーザー ID がwww-data
-user の ID であるかどうかをテストします。その場合、PATH
変数の先頭に/opt/fop/latest
ディレクトリを追加します。新しいシェルが初期化されるたびに、自動的に実行される必要があります。
これらのコマンドは、新しいスクリプトをインストールします。
$ echo -e '#!/bin/sh\nif [ "`id -u`" -eq "`id -u www-data`" ]; then PATH="/opt/fpb/latest:$PATH"; fi' | sudo cat >/etc/profile.d/fop4www-data.sh
$ sudo chown www-data:www-data /etc/profile.d/fop4www-data.sh
$ sudo -u www-data chmod +x /etc/profile.d/fop4www-data.sh
コマンドの場合
$ echo 'whoami; echo PATH=$PATH' | sudo -u www-data sh
fop
通常のシェルから実行すると変更が反映され、php スクリプトから呼び出すことができるはずです。
免責事項:私はシェルプログラミングにはあまり興味がありません。私は自分が何をしているのかほとんどわかりません。常識を働かせてコードを改善してください。