Linux の su コマンドと sudo コマンドの違いは何ですか?

  su コマンドと sudo コマンドは、Linux でよく使用されるコマンドです。sudo は root ユーザーとしてコマンドを実行し、su は他のユーザーの ID を変更してコマンドを実行するために使用されます。では、Linux の su コマンドと sudo コマンドの違いは何でしょうか?この記事を通じて詳しく説明しましょう。

  1. パスワードについて

  2 つのコマンドの最大の違いは、sudo コマンドでは現在のユーザーのパスワードが必要であるのに対し、su コマンドでは root ユーザーのパスワードが必要であることです。明らかに、セキュリティの点では sudo コマンドの方が優れています。たとえば、root アクセスが必要なマルチユーザー ホストを考えると、su コマンドを使用すると、root パスワードを他のユーザーと共有することになり、明らかにセキュリティが低下します。

  また、特定のユーザーのスーパーユーザー/root アクセスを取り消したい場合、その唯一の方法は、他のすべてのユーザーに新しい root パスワードを通知する前に root パスワードを変更することです。

  上記の 2 つの状況は、sudo コマンドを使用すると適切に処理できます。sudo コマンドには他のユーザー自身のパスワードが必要なため、root パスワードを共有する必要はありません。同時に、特定のユーザーが root 権限にアクセスできないようにしたい場合は、sudoers ファイルの対応する構成を調整するだけで済みます。

  2. デフォルトの動作

  2 つのコマンドのもう 1 つの違いは、デフォルトの動作です。sudo コマンドでは、昇格された特権で実行できるコマンドは 1 つだけです。su コマンドは新しいシェルを開始し、明示的にログアウトするまで root と同数のコマンドの実行を許可します。

  したがって、ユーザーが root として作業していることを忘れ、誤って元に戻せない変更を加えてしまう可能性があるため、su コマンドのデフォルトの動作は危険です。

  3. ロギング

  sudo コマンドはターゲット ユーザーとしてコマンドを実行しますが、コマンドを実行したユーザーを記録するために sudoer によって設定されたユーザー名が使用されます。su コマンドは、root ユーザーに切り替えた後にユーザーが実行した操作を直接追跡して記録することはできません。

  4. 柔軟性

  sudo コマンドは、su コマンドよりもはるかに柔軟です。sudo ユーザーがアクセスできるコマンドを制限できます。ユーザーは、sudo コマンドを使用して作業するために必要なコマンドのみにアクセスできますが、su コマンドでは、ユーザーにあらゆる操作を許可する権限が与えられます。

  5、すどす

  おそらく、su コマンドを使用したり、root ユーザーとして直接ログインしたりするのは危険であるため、一部の Linux ディストリビューションではデフォルトで root ユーザー アカウントが無効になっています。ただし、次のコマンドを実行すると、root ユーザーのパスワードを入力しなくても su コマンドを正常に実行できます。 sudo su

  sudo を使用してコマンドを実行するため、現在のユーザーのパスワードを入力するだけで済みます。したがって、完了すると、su コマンドは root として実行され、パスワードを再度要求されなくなります。

  システムで root ユーザー アカウントを有効にする場合は、root ユーザーのパスワードを手動で設定する必要があります。コマンド sudo passwd root を使用できます。

おすすめ

転載: blog.csdn.net/oldboyedu1/article/details/132496369