web-dev-qa-db-ja.com

なぜsudoと呼ばれるのですか?

なぜSudoを使用して管理者として端末コマンドを実行するのですか?なぜadminまたは他の何かではないのですか? Sudoには理由がありますか?

30
Mohammad

From Wikipedia

Sudoは、ユーザーが別のユーザー(通常はスーパーユーザー、またはルート)のセキュリティ特権でプログラムを実行できるようにするUnixライクなコンピューターオペレーティングシステム用のプログラムです。その名前は、「su」(代替ユーザー)と「do」の連結、またはアクションの実行です。

Suコマンドとは異なり、ユーザーは通常、rootパスワードではなく独自のパスワードをSudoに提供します。認証後、/ usr/local/etc/sudoers(/ etc/sudoersにあることがある)構成ファイルがユーザーアクセスを許可している場合、システムは要求されたコマンドを呼び出します。 sudoers構成ファイルは、以下を含むがこれらに限定されない、膨大な構成可能性を可能にします。呼び出し端末からのみrootコマンドを使用可能にします。特定のコマンドにパスワードを要求しない;ユーザーまたはグループごとにパスワードが必要です。特定のコマンドラインで毎回パスワードの再入力を要求するか、パスワードをまったく要求しない。引数または複数のコマンドの受け渡しを許可するように構成することもでき、正規表現を使用したコマンドもサポートします。

直接のルートログインなしのスーパーユーザー(管理者)特権を持つ一時的な1回限りのコマンド。

31
Virusboy

xkcd: Sandwich

Sudoの前は、ほとんどの管理者がrootユーザーとしてログインしていました。これは、すべての権限があるため、システムを簡単に構成できるためです。ただし、小さな間違い、または間違ったインターネットリンクであり、システム全体が影響を受けたり、侵害される可能性さえあります。

この問題のため、Sudoが登場しました。目的は、必要な場合にのみ、短期間だけ管理者権限を使用することでした。さらに、これにより、ユーザーが別のアカウントにログインすることを回避できます。これにより、明らかにシステムの安全性が強化されます。

buntでは、システムの安全性を強化することを選択します。したがって、彼らは「須藤」の方法に従うことにしました。 rootユーザーは無効になっています。これは必要ありません。特に、ユーザーがXインターフェースを介してrootユーザーでログインするリスクはありません。さらに、許可されたユーザーに対してすべてのコマンドをSudoで起動できるようにしました。クールなことは、パワーユーザーがルートアカウントにアクセスできることです。

Sudoの欠点:

  • Sudo経由で許可するコマンド
  • すべてのコマンドの前にSudoを記述する必要があります。管理者権限が必要です
  • 頻繁にパスワードを再入力する必要があります。

Sudoはどういう意味ですか?その名前は、「su」(代替ユーザー)と「do」の連結です。

Sudoではなくadminなのはなぜですか? Sudoは、特定の時間および必要なときにのみadminを意味すると思います。

Windows環境から来ている人は、それがadminではない理由を理解する必要があります:)

参照: サイト
写真: xkcd

21
nux

Linux Foundationの製品であるLinux.comから:

Sudoは、「substitute user do」または「super user do」を表します「(どのように見たいかに応じて)。 Sudoが行うことは、多くのLinuxディストリビューションにとって非常に重要かつ重要です。事実上、Sudoを使用すると、ユーザーはプログラムを別のユーザー(ほとんどの場合はrootユーザー)として実行できます。

[エンファシス鉱山] ソース

11
Cerran

スーパーユーザーdo

スーパーユーザーになるためのコマンドsuがあります。

$ su
# apt-get install somehorror
# exit
$

須藤はそれを一挙に行うことができ、あなたの魔法の力を放棄することを覚えておく必要はありません。

$ Sudo apt-get install somehorror

「admin」ではない理由、またはより間接的に、suが「switchUser」などではない理由については、伝統的なUnixコマンドは、Unixの起源に関する歴史的な理由から最小限の省略形である傾向があります。

最も基本的な理由から、そもそもUnixと呼ばれる同じ理由に戻る必要があります。 Unixの多くは、初期のマルチユーザーマルチタスクオペレーティングシステムの1つであるMITのMulticsに触発されました。 (Unixの名前は、「Multicsの単数形」または「キャストされたMultics」のいずれかになります。これは、あなたが尋ねる相手とそのときの気分によって異なります。)

Multicsのその他の技術革新の中で、実際のファイルの場所をディレクトリ情報から分離し、1つのファイルに複数の名前を付けるという概念を導入しました。 (Unixの用語で「リンク」。)Multicsはこれを(過度に)完全に活用しました。ほとんどのMulticsコマンドには、ALongNameThatIsImpossibleToTypeとASNTOECR(専門家だけが覚えられる短い名前)の両方があります。経験上、実際にはその時点ですべてのユーザーが「専門家」になり、ほとんど誰も長い名前を使用しなかったため、長い名前は実際にはそれほどユーザーフレンドリーではないことが示されました。 UnixがMulticsの設計の一部を採用したとき、簡素化の1つは、未使用の長い名前を破棄し、専門家にわかりやすい短い名前のみを保持することでした。

これは、オペレーティングシステムとそのコアコマンドセットを必要最小限に抑え、小規模なシステムで効率的に実行できるというUnixの哲学ともうまく適合しています。当時プログラマーは可能な限りすべてのバイトとサイクルを節約していました。プロセッサは非常に遅く、端末の速度も同様に非常に遅く、メモリは非常に高価でした(そして、より低速で、もしあれば小さなキャッシュがありました)。システムコマンドを最小限の長さに抑えることで、実際のリソース(もしあれば)を実際にはあまり節約できなかったかもしれませんが、時間の考え方に対しては「適切」でした。

あなたが本当にユーザーフレンドリーなコマンド名を主張するなら、Unixの答えは「あなたはシェルスクリプトを書く方法を知っている。それを自分で実装する。シェルスクリプトを書く方法を知らないなら、あなたはその方法を学ぶ必要がある」学習やコーディングが気に入らない場合は、Unixに満足できず、他の何かを使用する必要があります。」

3
keshlam

"superuser"が元々suの由来であるかどうかは、指定するユーザー名がスーパーユーザーである必要がないため不正確です。 Sudo -uを使用して別のユーザーとしてコマンドを実行する場合も同様です。

"Substitute user"はより正確ですが、不格好に聞こえます。代わりの先生を思い浮かべます。

したがって、私はsuを単に「ユーザーの切り替え」と考え、Sudoを「ユーザーの切り替えと実行」と考えることを好みます。

3
otus

Sudo Webサイト から:

「須藤とは?

Sudo(su "do")を使用すると、システム管理者は権限を委任して、特定のユーザー(またはユーザーのグループ)に一部またはすべてのコマンドをrootまたは別のユーザーとして実行し、コマンドとその引数の監査証跡を提供する権限を与えることができます」

「Sudoは、1980年頃にSUNY/Buffaloのコンピューターサイエンス学部でBob CoggeshallとCliff Spencerによって最初に考案され、実装されました。4.1BSDを実行するVAX-11/750で実行されました。 、Gretchen Phillips、John LoVerso、およびDon Gworekは、1985年12月にnet.sources Usenetニュースグループに投稿されました。」

とはいえ、証拠があるとは思いませんが、その名前は一種のマニアックなプログラマーの冗談だと常に強く信じてきました。 「su」(スーパーユーザー)「do」というコマンドがありますが、実際にはスーパーユーザーではありません。「doo」を「doh」に変換し、「sudo」は「pseudo」(fake 、見せかけ)。

1
Anaksunaman