Debian 10から始めて、su
使用するコマンドが変更されました。デフォルトでは、su
の実行 コマンドは、予想されるユーザー環境変数を提供しなくなりました。
管理ユーザーroot
への単純な切り替えの場合 su
を実行する 引数なしで、期待されるルートのPATH
変数が正しく設定されていません。
症状
次に例を示します:
$ suPassword:#rebootbash:reboot:コマンドが見つかりません#adduser bash:adduser:コマンドが見つかりません

/sbin/
へのパスがありません ディレクトリ 解決策
この不便を修正する秘訣は、su
に明示的に伝えることです。 ユーザーが直接ログインするかのように環境変数を設定します。これは、-
を使用して実行できます スイッチ。
man su
からの抜粋 マニュアルページ。 -、-l、–login ユーザーが直接ログインした場合にユーザーが期待するのと同様の環境を提供します。
rootユーザーユーザーの正しいパスを設定するには、必ずsu
を実行してください。 -
を使用したコマンド または-l
または--login
swith。例:
$ su -OR $ su -l </ pre>![]()
su
を使用してrootアクセスを取得する両方の試行のPATH設定が異なることに注意してください。 コマンド。
Debian