
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
user
をusername
、 に追加する に置き換えますsudoers
。-aG オプションは、指定されたグループにユーザーを追加するようにシステムに指示します。(-a オプションは G でのみ使用されます。)
ご覧のとおり、 に誰かを追加するには、sudoers
まず「スーパー ユーザー」権限を行使できるユーザーが必要です。したがって、このユーザーを追加するかsudoers
、すでに「スーパー ユーザー」グループに追加されているユーザーを使用することができます。
追伸
Ubuntuなどの一部のLinuxディストリビューションでは、セキュリティ上の理由から、rootユーザーアカウントはデフォルトで無効になっています。つまり、rootにパスワードが設定されておらず、su
rootに切り替えることができません。これが、su:Authentication failure
su
root に変更する 1 つのオプションは、コマンドの先頭にsudo
現在ログインしているユーザーのパスワードを追加して入力することです。
sudo su -
ただし、後でアクセスしたり変更を加えたりするときに権限の問題が発生するため、アクションを実行するためにルート ユーザーに切り替えることはお勧めしません。