ウェブサイト検索

コマンドが見つかりません - Debian GNU/Linuxでの/sbinへのパスがありません


Debian 10 busterから、suコマンドの使い方が変更されました。デフォルトでは、suコマンドの実行は、期待されるユーザー環境変数を提供しなくなりました。

引数なしで su を実行して管理者ユーザー root に単純に切り替える場合、予想される root の PATH 変数が正しく設定されていません。

症状

ここに一例があります:


su
Password:
reboot
bash: reboot: command not found                                                                        
adduser                                                            
bash: adduser: command not found

bash: reboot: コマンドが見つかりません - Debian GNU/Linux は /sbin/ ディレクトリへのパスが欠けています

解決策

この不便を解消するためのコツは、suに対して、ユーザーが直接ログインしたかのように環境変数を設定するよう明示的に指示することです。これは-スイッチを使用することで行うことができます。

注意
マニュアルページのman suからの抜粋です。-, -l, –loginは、ユーザーが直接ログインした場合に期待される環境に似た環境を提供します。

ルートユーザーに対して正しいパスを設定するには、su コマンドを - または -l または --login スイッチを使用して実行してください。例:


su -
OR
su -l

rootアクセスを得るためにsuコマンドを使用した両方の試行の異なるPATH設定に注意してください。

関連記事: