そのため、ユーザー「Shannon」としてログインしていますが、たとえばプログラムのインストールを求められたときにGUIからルートアクセスを取得できません。ただし、Sudo su
を使用して、rootパスワードを入力し、ターミナルからアクセスして、そこからプログラムをインストールします。これらのパスワードは同一であるはずではありませんか?
誰もこれを修正する方法を知っていますか?
OK、簡単な説明を書いてみましょう。 Shannon
とroot
の2つの異なるユーザーがいます。 Ubuntuでは、デフォルトで、root
にはパスワードがありませんすべてであり、ログインできませんすべて。 Shannon
がroot権限を必要とするタスクを実行する場合、/etc/sudoers
というファイルを参照し、Sudo
をShannon
に変換する機能を備えたコマンドroot
を使用します。
デフォルトでは、Sudo
は、Shannon
が実際にShannon
であり、キーボードを乗っ取ったばかりの犬ではないことを確認したいと考えています。これが、Sudo
がユーザーShannon
にhis(rootではなく)パスワードを要求する理由です。また、「ルート権限を必要とするタスク」はbashシェルである可能性があることに注意してください。これは基本的に、rootとしてログインできることを意味します(rootパスワードを使用せずに!).
そのため、2人のユーザー(Shannon
とroot
)のパスワードが異なるわけではありませんが、root
のパスワードは実際には要求されていませんすべて =。
個人的には、犬は飼っていません。だからこそ、パスワードを聞かれないように/etc/sudoers
を変更しました。コマンドSudo visudo
を使用して、/etc/sudoers
を編集し、次の行を編集しました。
%Sudo ALL=(ALL:ALL) ALL
上記の行は、Sudoグループのすべてのユーザー(およびシステムをインストールした場合、Shannon
がこのグループに属していると想定できる)がすべてのルートコマンドを本質的に実行できることを意味します。
%Sudo ALL=(ALL:ALL) NOPASSWD: ALL
ああ、しかし今ではNOPASSWDディレクティブにより、ルートとしてプログラムを実行できるだけでなく、パスワードの入力をせずに実行できるようになります。このファイルを編集するには、mustプログラムvisudo
を使用します。これにより、構文エラーが発生しなくなります。 sudoers
ファイルの構文エラーにより、Sudoシステムが完全に無効になる場合があります。そして、rootにパスワードがない場合、あなたは深いカカにいます。
混乱を追加するために、一時的にsu
と呼ばれるルート権限を取得できるプログラムがさらにあります。ただし、su
ははるかに原始的です-パスワードを要求するだけですルートの。したがって、デフォルトのUbuntuインストールでは機能しませんです。
それで、Sudo su
を入力するときに実際にどのパスワードが要求されますか?さて、最初に実行しているコマンドはSudo
ではなくsu
です。したがって、ルートではなくShannon
のパスワードを要求されます。 Sudo
はルート権限を取得し、su
をルートとして実行します。ただし、ルートがsu
を実行すると、su
はパスワードを要求しません。いずれにしても、それをしないでください-それがSudo -i
の目的です(まったく同じことをします)。
デフォルトでは、ルートはubuntuでロックされています。
ルート権限を取得するには、Sudo su
を使用してパスワードを要求します。
ソフトウェアのインストール中に、同じパスワードの入力も求められます。
ルートアカウントのロックを解除するには、Sudo -i
およびpasswd
を使用して、この方法でルートアカウントのロックを解除できますが、推奨されません。