(Debian コンピュータで) root に変更すると、su
PATH が正しく設定されていないようです.いくつかの重要なディレクトリがusr/local/sbin
ありません。
次の行があります/etc/profile
(明らかに標準の基本項目は私が書いたものではありません)。
if [ "`id -u`" -eq 0]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin/:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin"
fi
export PATH
私は/etc/login.defs
(基本項目も)次のようになります。
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
なぜ私のPATHが正しく設定されていないのですsu
か?
ベストアンサー1
Modernは、環境を保護するように求められたときに発信者su
からリセットされなくなりましたPATH
。これが必要な場合は、su --login
代わりにそうしてください。
から/usr/share/doc/util-linux/NEWS.Debian.gz
:
- new 'su' (with no args, i.e. when preserving the environment) also
preserves PATH and IFS, while old su would always reset PATH and IFS
even in 'preserve environment' mode.
...
The first difference is probably the most user visible one. Doing
plain 'su' is a really bad idea for many reasons, so using 'su -' is
strongly recommended to always get a newly set up environment similar
to a normal login. If you want to restore behaviour more similar to
the previous one you can add 'ALWAYS_SET_PATH yes' in /etc/login.defs.