Debian 8.1では、スーパーユーザーはなぜsudoの代わりにsuを使って実行するのですか? [閉鎖]

Debian 8.1では、スーパーユーザーはなぜsudoの代わりにsuを使って実行するのですか? [閉鎖]

susuperuser excute()の代わりにsuperuserコマンドが実行される理由がわかりますsudo

答え1

suこれは、sudo他のユーザー(おそらくroot)としてプログラム(おそらくシェル)を実行する2つの最も一般的な方法です。同じ効果がありますが、操作を許可するかどうかを決定する方法は非常に異なります。

  • suソースユーザーがrootであるか、ユーザーがターゲットアカウントにアクセスできることを証明する必要があります(通常はパスワードを入力して)。
  • sudo事前承認が必要:ソースユーザー、ターゲットユーザー、およびコマンドの組み合わせは、構成ファイルで宣言する必要があります。

su最初に登場しました:早く登場しました。Unix V31973年。当時はルートになる場合のみ扱いました(したがって名前は次のようになります)。S優れた -あなたジャズ)。sudo後で来た1980年に、複雑な認証ポリシーを定義する可能性を追加します。su古くてシンプルなため、すべてのUNIXシリーズシステムで利用可能な標準ツールであり、sudo非常に一般的なアドオンですが、基本的なインストールと組み込みシステムでは欠けていることがよくあります。

suDebianはデフォルトシステムの一部であるため、デフォルトです。 Linuxには次のsuプログラムがあります。GNU Coreutils(およびlscp)およびユーティリティLinux(およびmountfdiskなどtaskset)。ルートとして実行される多くのシステムスクリプトは、システムsuユーザーとしてタスクを開始するために使用されます。このsudoパッケージは、システムなしでシステムを実行できるためオプションです。これはエンドユーザーツールであり、他のソフトウェアではほとんど使用されません。

セキュリティについては、以下を参照してください。sudo、su、またはloginの間でroot権限を取得する最も安全な方法は何ですか?

答え2

Sudoは、システムにインストールまたはインストールされない可能性がある追加のプログラムです。sudoDebian ではソフトウェアパッケージとして提供されます。言及している特定の状況/コードに関する追加情報がなければ、最も可能性の高い答えはsudoがインストールされていると仮定できないことsuです。POSIX 標準には以下が必要です。Debian 基本システムの一部としてインストールされます。したがって、移植性を最大化したいスクリプトやチュートリアルではsu

関連情報