%3A%20PATH%20%E3%81%AF%E3%81%AA%E3%81%9C%E5%90%8C%E3%81%98%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F.png)
su
私との違いは何かを知っていますが、su -
私のシステム(Debian)ではPATH
同じです。
[root]# su
[root]# echo $PATH
/user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[root]# exit
[root]$ su -
[root@debian ~]# echo $PATH
/user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
そのため、設定ファイルで設定を変更できると思いました。
答え1
設定するには、su
PATH
次を参照してください/etc/login.defs
。
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PATH
以下を含む、変更できる他のいくつかの点があります。
/etc/environment
/etc/bash.bashrc
/etc/profile
/etc/profile.d/*
~/.bashrc
~/.bash_profile
ユーザー固有の設定には特別なものがなく、から環境をインポートするようsu
でPATH
、から環境をインポートするようです。/etc/environment
su -
/etc/login.defs
ENV_SUPATH
PATH
したがって、お使いのシステムでは、同じ値があるか、追加の設定があるか、またはrcファイルがいくつかあると推測されます。/etc/login.defs
/etc/environment
/etc/profile.d
/etc/bash.bashrc
/home/someuser
答え2
パラメータは-
起動環境を表し、これはユーザーのログイン環境とほぼ同じです。
-
元のユーザー環境と同じ環境はありません。
たとえば、PATH
root ユーザーと一般ユーザーは通常同じです。一部のシステムでは、sbin
一般ユーザーにフォルダがありません。-
簡単に無効にすることはできませんsu
。もちろん、ソースコードを編集することもできます。
以下を実行してみてください。
export FOO=bar
su # enter your password
echo $FOO
logout
su - # enter your password again
echo $FOO
最初はecho $FOO
「bar」を印刷し、2番目は何も印刷しません。