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
루트 사용자의 경우 변수
# 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
?