私のパソコンでは、管理タスクを実行するために、特定のコマンドの前にSudo
を入力することがよくあります。 su root
と入力し、Sudo
に通常使用するのと同じパスワードを入力することで、1日中これを回避することを望んでいました。ただし、2つのパスワードは同じではありません(su root
にログインする方法がわかりません)。 Sudo
でコマンドを実行することは、su root
でログインして同じコマンドを実行することとは異なりますか?
Sudo
とsu root
は同じだと思います。Sudo whoami
と入力すると、root
が得られるのではなく、whoami
が得られるためです。私のユーザー名。
su
とSudo
は、それらの最も一般的な使用法によってあなたが考えるようになるのとは対照的に、rootとしてログイン(またはアクションを実行)するためだけのものではありません。
su
を使用すると、自分のアイデンティティを他の誰かのアイデンティティと切り替えることができます。このため、su
と入力すると、変更しようとしているターゲットユーザーの資格情報があることをシステムが確認する必要があります。
Sudo
は少し異なります。 Sudo
を使用すると、特定の(または構成に応じてすべての)コマンドを他のユーザーとして実行できます。自分のIDを使用して、他の誰かのIDの下でどのタイプのコマンドSudo
が実行されるかを決定します。信頼できるユーザー(システム管理者が信頼しているという意味)であれば、さらに多くのことが許可されます。たとえば、インターンよりも手綱が無料です。これが、Sudo
がターゲットユーザーのIDではなく、自分のIDを検証する必要がある理由です。
言い換えれば、su
を使用していない人にSudo
をしようとすることは、盗んだクレジットカードに購入金額を請求しようとすることは、合法的な代理人が友人の車を売るようなものです。
あなたがやろうとしていたことに関しては、単にSudo su root
、またはもっと簡単にSudo su
して、通常のユーザーパスワードを入力してください。これは、お友達のクレジットカードの資格情報を、お友達から提供された法的代理人を使用して自分のものに置き換えるのとほぼ同じです。もちろん、Sudo
構成により、エスカレートされた特権でsu
を実行できると想定しています。
また、Sudo
アクセスが事前構成されているシステムでは、通常、rootアカウントが無効になっています(rootパスワードなし)。Sudo su
を介してrootになった後、passwd
コマンドを使用して有効にすることができます。 。
Sudo
は、ユーザー権限を一時的にルートレベルにエスカレートするために使用されますが、su root
は、ユーザーとしてrootを使用して新しいシェルを作成するために使用されます。
これは設定可能*ですが、デフォルトでは、「Sudo」はパスワードを要求します。それはあなたがコーヒーを飲んでいる間に誰かがキーボードを使っているのではなく、それがあなたであることを確認しようとしているだけです。
対照的に、「su root」はrootパスワードを要求します。
*/etc/sudoersのtargetpwがfalse(デフォルト)の場合、「Sudo」はパスワードを要求します。 trueの場合、「Sudo」はrootのパスワードを要求するか、「-u」オプションで他のユーザーを指定した場合はそのユーザーのパスワードを要求します。
この検索を初めて利用する人のために、終了するまでrootに入る簡単な方法があります。
Sudo -iE
インタラクティブを維持し、環境を維持しますが、今はルートとして。