他のユーザーの環境変数を確認する方法はありますか?私はそれをrootとして実行したいので、許可は問題にならないと思います。
ユーザー自身には、echo $PATH
またはset | grep PATH
(または変数名を覚えていない場合はset
)を使用します。他のユーザーにとって同様の指示は何でしょうか?
価値があるのは、Ubuntu Server 13.04です。
別のオプションは、env
を使用することです。これをroot
として実行します。
Sudo -Hiu $user env | grep $var
例えば
Sudo -Hiu terdon env | grep HOME
HOME=/home/terdon
1人のユーザーに対して、次のように実行できます。
su - <username> -c '. ~/.profile; echo $PATH'
すべてのユーザーの$ PATHをリストします。
for user in $(cat /etc/passwd | awk -F: '{print $1}'); do
su - $user -c '. ~/.profile; printf "%s\n" "$PATH"'
done
@ Camil Staps
. ~/.profile
このように、私は私の好きな人、Peteris Kruminsから学ぶトリックです。彼はトリックを説明しました here 。多分後のbashバージョンはオプションNON_INTERACTIVE_LOGIN_SHELLS
。
ルートからsu -
をユーザーに送信してから、表示する環境変数をgrepします。
su - <username> -c 'echo $PATH'