RHEL環境で、sudoを用いた別ユーザでコマンド実行時に環境変数がうまく適用されない

実現したいこと

発生している問題・エラーメッセージ

RHEL8.2の環境で、HULFTのプロセスを起動するスタートアップシェルを作成しています。
※ OS起動時の自動起動であればサービス登録等の手段があることは認識しておりますが、今回の目的はスタートアップシェルの作成とさせて下さい。

スタートアップシェルの実行者はrootですが、HULFTの導入者は一般ユーザ(testuser)のため、sudoでユーザを指定して
HULFTを起動しようとしています。

■スタートアップシェルの内容 //HULFT起動に必要な環境変数の設定 TERM=vt100 export TERM LANG=ja_JP.UTF8 export LANG HULEXEP=/省略/HULFT/bin export HULEXEP PATH=/省略/HULFT/bin:$PATH export PATH HULPATH=/省略/HULFT/etc export HULPATH //HULFT起動 sudo -u testuser hulsndd sudo -u testuser hulrcvd sudo -u testuser hulobsd

上記を実行したところ、hulsndd,hulrcvd,hulobsdが見つかりませんというメッセージが表示されます。
実際は、/省略/HULFT/bin/配下に全て格納されているため、見つかりませんというメッセージが表示されるのは想定外でした。
また、以下のコマンドを実行したところ想定通りのパスが表示されたため、環境変数の認識自体はできていると考えております。

コマンド sudo -u testuser echo $PATH 出力結果 /省略/HULFT/bin:…(省略)

上記のHULFT起動コマンドを成功させるにはどうしたら良いかご教示いただけませんでしょうか。

試したこと

rootやtestuserの.bash_profileにHULFT環境変数を定義した状態でも実施してみましたが、結果は同じでした。

コメントを投稿

0 コメント