dev
Alpineベースの画像に新しいユーザーを追加しました。新しいユーザーに切り替えた後、ケースroot
とユーザーの両方が環境変数が異なることがわかりましたdev
。特に$PATH
変数が異なります。しかし、違うべきではないと思います。出口世界的に/etc/profile
。
$ cat /etc/profile
export CHARSET=UTF-8
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PAGER=less
export PS1='\h:\w\$ '
umask 022
for script in /etc/profile.d/*.sh ; do
if [ -r $script ] ; then
. $script
fi
done
composer(){ su-exec deploy composer.phar "$@"; }
$PATH
rootユーザーの場合
# env | grep $PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$PATH
可変的な状況dev
# adduser -D -u 2500 -s /bin/sh dev
# su dev
$ env | grep $PATH
PATH=/bin:/usr/bin
.sh
内部profile.d
ディレクトリを追加して変数を再エクスポートできることを知っていますが、$PATH
この質問には継承されないのはなぜですか(プロセスが親プロセスの環境を継承する場合、それをエクスポートする必要があるのはなぜですか。)?ユーザーのdev
新しいプロファイルを作成する以外に、環境変数を継承する他の方法はありますか?ユーザーのためのこれらの環境変数はどこに設定されていますかdev
?