重要なポイント
- root (「su -」を使用) になり、Debian および Ubuntu で「apt install sudo」コマンドを使用して sudo をインストールします。
- root ユーザーとして「usermod -aG sudo username」(Debian/Ubuntu) または「usermod -aG Wheel username」(その他のディストリビューション) コマンドを使用して、ユーザーを sudo グループに追加します。
- sudo がインストールされているが動作しない場合は、root ユーザーとして「/etc/profile」ファイルを編集して、そのディレクトリを PATH 変数に追加します。
スーパーユーザーとして初めて Linux コマンドを使用しようとしたところ、「sudo: コマンドが見つかりません」というエラーが発生しましたか?これは、新しい Linux ユーザーが新規インストール後に直面する最も一般的な問題の 1 つです。この問題を解決して、sudo コマンドを再度使用し始める方法を次に示します。
このチュートリアルでは、Debian 12 ですべてを説明します。ただし、他の Linux ディストリビューションでも「sudo: コマンドが見つかりません」エラーを修正するために必要なコマンドが見つかります。
sudoコマンドとは何ですか?
Linux の sudo コマンドは、「スーパーユーザー do」という語句を短縮したもので、ユーザーが別のユーザー (通常は root) の権限でコマンドを実行できるようにする強力なユーティリティです。 sudo を使用すると、許可されたユーザーは root ユーザーとしてログインすることなく管理タスクを実行できます。
sudo の使用方法は、別のコマンドを「sudo」という単語で始めることです。これにより、昇格された権限でコマンドを実行できるようになります。したがって、sudo コマンドを使用すると、別のユーザーの必要なアクセス許可を取得して、機密性の高いコマンドを実行できます。 sudo コマンドの詳細については、 マニュアル ページを 参照してください。
このエラーが発生するのはなぜですか?
Linux で「sudo: コマンドが見つかりません」エラーが発生する原因は通常 2 つ考えられます。 sudo がインストールされていないか、システムの PATH 変数に sudo ディレクトリが存在しないことが原因です。
一部の Linux ディストリビューションには、デフォルトで sudo パッケージがインストールされていない場合があります。これは Arch と Gentoo Linux にも当てはまります。 Debian では、インストール中に root パスワードを設定すると、同じ問題に直面することになります。
2 番目の理由は、sudo がインストールされているが、そのディレクトリが PATH 変数に含まれていないことです。 PATH は、フルパスを指定せずにコマンドを見つけるために Linux システムが使用する環境変数です。
ターミナルにコマンドを入力すると、システムは PATH 変数にリストされているディレクトリを検索し、正しい実行可能ファイルを見つけようとします。 sudo コマンドがその PATH 変数にない場合、システムはそのコマンドを見つけられず、使用できません。
「sudo: コマンドが見つかりません」エラーを修正する方法は次のとおりです。
sudo がインストールされていない場合は、それをインストールし、ユーザーを sudo/wheel グループに追加するだけで問題を解決できます。 sudo がインストールされているかどうかを確認するには、次のコマンドを実行します。
sudo -V
sudo がインストールされていない場合は、同様の出力が表示されるはずです。その場合は、次の方法に進みます。
Linux に sudo をインストールする
sudo パッケージをインストールするには、まず root になる必要があります。 root ユーザーになるには、ターミナルを開いて次を実行します。
すー
root パスワードを入力し、Enter キーを押します。成功すると、シェル プロンプトが白くなり、プロンプトの先頭に「root」という単語が表示されるはずです。
root ユーザーとして、sudo を含む任意のソフトウェア パッケージをインストールできます。 sudo をインストールするには、Debian ベースのディストリビューションで次のコマンドを実行します。
sudoを適切にインストールする
RHEL ベースのシステムの場合は、次のコマンドを使用します。
yumインストールsudo
Arch Linux で次を実行します。
パックマン -S sudo
Gentoo を使用している場合は、次のコマンドを使用します。
emerge --ask app-admin/sudo
ユーザーを sudo グループに追加する
sudo コマンドをインストールしたら、 root 以外のユーザーを sudo グループに追加する 必要があります。これは、そのユーザーにスーパーユーザー権限を与える必要があるためです。これにより、非 root ユーザーは sudo コマンドを使用して昇格された権限を取得できるようになります。
ユーザーを sudo グループに追加するには、Debian ベースのディストリビューションで次のコマンドを実行します。
usermod -aG sudo ユーザー名
コマンド内の「ユーザー名」を正しいユーザー名に置き換えてください。
Arch Linux、Fedora、またはその他の RHEL ベースのディストリビューションを使用している場合は、次のコマンドを使用します。
usermod -aG ホイールのユーザー名
最後に、次のようにして非 root ユーザーに切り替えます。
su ユーザー名
これで、sudo で始まるコマンドを試して、機能するかどうかをテストできます。たとえば、システム上のパッケージを更新してみましょう。これを行うには、次を使用します。
sudo aptアップデート
期待どおりに機能します。
PATH変数にsudoを追加してみる
すでに sudo がインストールされているにもかかわらず機能しない場合は、PATH 変数に sudo を追加する必要があります。まず、sudo コマンドの場所を確認しましょう。
どの須藤
ご覧のとおり、「/usr/bin/」ディレクトリにあります。次に、ディレクトリが PATH 変数にあるかどうかを確認してみましょう。次のコマンドを実行します。
エコー $PATH
私の場合、sudo コマンドの場所は PATH 変数にあります。そうでない場合は、次のコマンドで追加できます。
エクスポート PATH=$PATH:/usr/bin
ただし、これは sudo コマンドのディレクトリを一時的に追加するだけです。ターミナルセッションを終了すると、元の状態に戻ります。
ディレクトリを永続的に追加するには、テキスト エディタで「/etc/profile」ファイルを開きます。 nano テキスト エディタ で開くには、まず su – と入力して root になり、次のコマンドを使用します。
ナノ /etc/プロファイル
PATH 変数を宣言する行を編集します。コロン (:) を追加し、sudo へのパス (この場合は「/usr/bin」) を追加します。
Ctrl+O を使用してファイルを保存し、Ctrl+X を使用してエディタを終了します。次に、sudo コマンドを使用して、それが機能するかどうかを確認してみます。
これで問題は解決し、エラーなしで sudo コマンドを使用できるようになります。 sudo グループに追加されたユーザーのみがそれを使用できることに注意してください。より多くのユーザーに sudo 権限を付与したい場合は、 Linux での sudo アクセスの制御 に関するガイドを参照してください。





