新しく作成されたユーザーが$ PATH変数を継承しないのはなぜですか?

新しく作成されたユーザーが$ PATH変数を継承しないのはなぜですか?

devAlpineベースの画像に新しいユーザーを追加しました。新しいユーザーに切り替えた後、ケース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 "$@"; }

$PATHrootユーザーの場合

# 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

ベストアンサー1

おすすめ記事