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


30

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


19
sudo ls「スーパーユーザー、do ls」と読みます(そして、それは愚かではなく、ニーモニックはコマンドを覚えるために重要です)(そして、おそらく、それは「ユーザーを切り替える」という意味で、「s witch u ser and do」をsu意味します。 -))
Rmano

1
管理者よりもはるかに優れたスーパーユーザー:)返信いただきありがとうございます。
モハンマド

2
それはあなたがするそのsudoブードゥー教です。:)
シャドゥール

14
楽しい事実:イタリア語でsudo(I)sweatを意味します。私は解釈したいsudo X間違ったコマンドを与え、すべての私のデータを拭くの恐れのために発汗。これはsudo、1)必要な場合にのみコマンドの前に追加する必要があることに留意するのに役立ちます。キャッチし、本当にひどい予想外の結果になる可能性があります)。
バクリウ

2
@Rmanoはsu もともと「スーパーユーザー」を意味し、「代替ユーザー」は後に来まし
ジル 'SO-悪であるのをやめる'

回答:


32

ウィキペディアから:

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

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

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


11
wikiの部分は正しいです。「Mac is Su」に関するコメントは正しくありません。Macには、BSDとLinuxのようにsudo、との両方がありsuます。
daviewales

@Virusboyこんにちは、このトピックで試してみてごめんなさい。しかし、Ubuntu 14.04をToshiba M840 i3-3110Mで使用するのは簡単ですか?ありがとうございました。
ボン

どのPCでも簡単
Virusboy

21

xkcd:サンドイッチ

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

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

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

の欠点sudo

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

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

なぜsudoありませんかadmin?私は特定の時間のために、あなたがそれを必要とするときにのみsudo意味すると思いますadmin

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

参照:サイト
画像:xkcd


なぜロドと呼ばれないのですか?
ジェームズライアン

3
「before sudo」段落が間違っています。差がないsusudo、この点では、資格情報が使用されている2つの間の唯一の違いは。使用するのsudosu安全ではありません(実際、安全性はやや劣ります)。sudoの主な利点(およびUbuntuがそれを選んだ理由)は、ユーザーの単純さ(覚えるパスワードは1つだけです)です。
ジル 'SO-悪であるのをやめる'

11

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

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

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


3

スーパーユーザーか

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

$ su
# apt-get install somehorror
# exit
$

sudoを使用すると、それを一気に行うことができ、魔法の力を放棄することを覚えておく必要はありません。

$ sudo apt-get install somehorror

2
su(「代替ユーザー」)を使用すると、任意のユーザーになることができます。ユーザー名を引数として指定できます。
デビッドリチャービー

1
実際、この2つはまったく同じではありませんが、ほとんどの場合は似ています。ただし、sudoを使用すると、主にスーパーユーザー権限でプログラムを実行できますが、通常の環境は同じです。suは実際にスーパーユーザーの環境でスーパーユーザーを作成します。
マーティフライド

3

それが「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

スーパーユーザー」がsu 元々の派生物であるかどうかにかかわらず、指定するユーザー名はスーパーユーザーである必要がないため、不正確です。を使用して別のユーザーとしてコマンドを実行する場合も同じsudo -uです。

代替ユーザー」はより正確ですが、不格好に聞こえます。代わりの先生を思い浮かべます。

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


1
いつもそれはスーパーユーザーが行うが、ユーザーの音をより適切に
置き換える

1

須藤のウェブサイトから:

「須藤とは?

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 、見せかけ)。


-2

ほとんどの人は、「スーパーユーザーがする」のマッシュアップだと答えています。私はこれが好きですが、-uフラグのように「実行する」ユーザーを選択できるため、「代替ユーザーが実行する」マッシュアップと言う方が正しいかもしれません。

また、ルートまたは-uフラグを使用して他のユーザーになりすますことができるため、psuedonymという言葉の遊びとも考えています。


3
さて、問題は、それがそう... [要出典]、ないバクロニムおよび/またはニーモニックのために、それは仕方という理由だった
derobert

また、デフォルトのターゲット・ユーザーは必要はありませんroot(それがあるか、UID 0を有する少なくとも一つのために理にかなっているし、それが一般的であるが)、参照runas_defaultsudoers
ステファンシャゼル

@backeroymsを使用し、間違った回答からサイトをクリーンに保つために、@ derobert +1。
3カップ

@schありがとう、私はそれを知りませんでした。
3カップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.