ユーザーは sudoers ファイルに存在しません。インシデントは報告されます

ユーザーは sudoers ファイルに存在しません。インシデントは報告されます

Ubuntu LTS サーバーでリモート デスクトップ接続をセットアップしたところ、何かをインストールしようとするたびにウィンドウが表示され、パスワードの入力を求められます。パスワードを試しましたが、受け入れられません。要求されているパスワードがわかりませんが、設定したパスワードではありません。

Google で調べて解決方法をいくつか見つけましたが、ターミナルでそれに従うとすぐに別のエラーが表示されますUser is not in the sudoers file. The incident will be reported。その後、インターネットで解決方法を調べましたが、ターミナルに書き込むように言われ、su -sエラーが表示されますsu:Authentication failure

答え1

その理由は、コマンドを入力するユーザーが「スーパー ユーザー」グループに属していないためです。「スーパー ユーザー」グループに属するすべてのユーザーは、ルート ユーザーとしてコマンドを実行できます。したがって、その特定のユーザーに正しいパスワードを指定しても、そのユーザーが「スーパー ユーザー」グループに属していない限り、コマンドは実行できませんsudo

この問題を解決するには、このユーザーを に追加する必要がありますsudoers file
これを行うには、次のコマンドを実行します。

sudo usermod -aG sudo user

userusername、 に追加する に置き換えますsudoers。-aG オプションは、指定されたグループにユーザーを追加するようにシステムに指示します。(-a オプションは G でのみ使用されます。)

ご覧のとおり、 に誰かを追加するには、sudoersまず「スーパー ユーザー」権限を行使できるユーザーが必要です。したがって、このユーザーを追加するかsudoers、すでに「スーパー ユーザー」グループに追加されているユーザーを使用することができます。

こちらもお読みください

追伸

Ubuntuなどの一部のLinuxディストリビューションでは、セキュリティ上の理由から、rootユーザーアカウントはデフォルトで無効になっています。つまり、rootにパスワードが設定されておらず、surootに切り替えることができません。これが、su:Authentication failure

suroot に変更する 1 つのオプションは、コマンドの先頭にsudo現在ログインしているユーザーのパスワードを追加して入力することです。

sudo su -

ただし、後でアクセスしたり変更を加えたりするときに権限の問題が発生するため、アクションを実行するためにルート ユーザーに切り替えることはお勧めしません。

関連情報