先日、DebianをVirtualBoxにインストールし、「sudo apt update」したところ、以下のエラーメッセージが発生しました。
「sudoers ファイル内にありません。この事象は記録・報告されます。」
どうやらログインユーザーでsudoを実行できないみたいです。
この解決方法について、まとめました。
エラー発生状況
実行環境
ホストOS:Windows10
ゲストOS:Debian10
仮想環境:VrtialBox
エラーメッセージ
以下のコード実行後、エラーメッセージが発生
debian@debain:~$ sudo apt update
エラー対処法:現在のユーザーをsudoを実行できるグループに加える
まず、suコマンドでrootユーザーに切り替えます。
debian@debain:~$ su
パスワード:
root@debian:/home/debian#
suコマンドでrootユーザーに切り替えることができたら、gpasswdコマンドを実行し、ユーザーを追加します。
root@debian:/home/debian# gpasswd -a [追加したいユーザー名] sudo
上記のコマンドで実行完了した後、再起動。
再起動後、もう一度sudoコマンドをつけて、apt updateコマンドを実行する。
そもそもsudoersとは何か
Manページを全て参考にしてます。
sudo のデフォルトのセキュリティポリシー・プラグイン
sudoers に、ユーザーを追加すると、追加したユーザーはsudoを利用した時だけroot権限でコマンドを実行していいというものです。
今回は、debianとユーザーでsudoコマンドを使用して、apt updateを実行しました。
しかし、sudoersにdebainというユーザーは存在しておらず、
sudoコマンドを利用しても、root権限が与えられなかったわけですね。
そのため、sudoコマンドを使用することで、誰でもroot権限でコマンドを実行できるという認識は間違いです。
まとめ
今回は、sudoコマンドのエラーについてと、その対処法についてまとめました。
ざっくりまとめると
・sudoコマンドを利用するときは、sudoersにユーザーを登録する
・sudoコマンドを使えば、誰でもroot権限が取得できるわけではない
コメント
簡潔、的を得た説明、ナイスです!