なぜsudo
管理者として端末コマンドを実行するのに使用するのですか?なぜそうではないの admin
ですか?理由はありsudo
ますか?
sudo
は(I)sweatを意味します。私は解釈したいsudo X
と間違ったコマンドを与え、すべての私のデータを拭くの恐れのために発汗。これはsudo
、1)必要な場合にのみコマンドの前に追加する必要があることに留意するのに役立ちます。キャッチし、本当にひどい予想外の結果になる可能性があります)。
なぜsudo
管理者として端末コマンドを実行するのに使用するのですか?なぜそうではないの admin
ですか?理由はありsudo
ますか?
sudo
は(I)sweatを意味します。私は解釈したいsudo X
と間違ったコマンドを与え、すべての私のデータを拭くの恐れのために発汗。これはsudo
、1)必要な場合にのみコマンドの前に追加する必要があることに留意するのに役立ちます。キャッチし、本当にひどい予想外の結果になる可能性があります)。
回答:
ウィキペディアから:
sudoは、ユーザーが別のユーザー(通常はスーパーユーザー、またはルート)のセキュリティ特権でプログラムを実行できるようにするUnixライクなコンピューターオペレーティングシステム用のプログラムです。その名前は、「su」(代替ユーザー)と「do」の連結、またはアクションの実行です。
suコマンドとは異なり、ユーザーは通常、rootパスワードではなく独自のパスワードをsudoに提供します。認証後、および/ usr / local / etc / sudoers(/ etc / sudoersにあることがある)構成ファイルがユーザーアクセスを許可している場合、システムは要求されたコマンドを呼び出します。sudoers構成ファイルにより、以下を含むがこれらに限定されない膨大な構成可能性が可能になります。呼び出し端末からのみrootコマンドを有効にする。特定のコマンドにパスワードを要求しない; ユーザーまたはグループごとにパスワードが必要です。毎回パスワードの再入力を要求するか、特定のコマンドラインでパスワードをまったく要求しない。引数または複数のコマンドの受け渡しを許可するように構成することもでき、正規表現を使用したコマンドもサポートします。
直接のルートログインなしのスーパーユーザー(管理者)特権を持つ一時的な1回限りのコマンド。
sudo
、との両方がありsu
ます。
sudoの前は、ほとんどの管理者がrootユーザーとしてログインしていました。これは、すべての権限があるため、システムを簡単に構成できるためです。ただし、小さな間違い、または間違ったインターネットリンクとシステム全体が影響を受けたり、侵害される可能性さえあります。
この問題により、sudoが登場しました。目的は、必要な場合にのみ、短期間だけ管理者権限を使用することでした。さらに、これにより、ユーザーが別のアカウントにログインすることを回避できます。これにより、システムの安全性が明らかに向上します。
以下の下のUbuntu、彼らはあなたのシステムの安全性を高めることを選択します。したがって、彼らは「sudo」の方法に従うことにしました。rootユーザーは無効になっています。これは必要ありません。特に、ユーザーがXインターフェースを介してrootユーザーでログインするリスクはありません。さらに、許可されたユーザーに対してすべてのコマンドをsudoで起動できるようにしました。クールなことは、パワーユーザーがルートアカウントにアクセスできることです。
の欠点sudo
:
sudo
するすべてのコマンドの前に記述する必要がありますどういうsudo
意味ですか?その名前は、「su」(代替ユーザー)と「do」の連結です。
なぜsudo
ありませんかadmin
?私は特定の時間のために、あなたがそれを必要とするときにのみsudo
意味すると思いますadmin
。
Windows環境から来ている人は、なぜそうではないのか理解する必要がありますadmin
:)
su
とsudo
、この点では、資格情報が使用されている2つの間の唯一の違いは。使用するのsudo
はsu
安全ではありません(実際、安全性はやや劣ります)。sudoの主な利点(およびUbuntuがそれを選んだ理由)は、ユーザーの単純さ(覚えるパスワードは1つだけです)です。
スーパーユーザーか
スーパーユーザーになるためのコマンドsuがあります。
$ su
# apt-get install somehorror
# exit
$
sudoを使用すると、それを一気に行うことができ、魔法の力を放棄することを覚えておく必要はありません。
$ sudo apt-get install somehorror
su
(「代替ユーザー」)を使用すると、任意のユーザーになることができます。ユーザー名を引数として指定できます。
それが「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に満足できず、他の何かを使用する必要があります。」
須藤のウェブサイトから:
「須藤とは?
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 、見せかけ)。
ほとんどの人は、「スーパーユーザーがする」のマッシュアップだと答えています。私はこれが好きですが、-uフラグのように「実行する」ユーザーを選択できるため、「代替ユーザーが実行する」マッシュアップと言う方が正しいかもしれません。
また、ルートまたは-uフラグを使用して他のユーザーになりすますことができるため、psuedonymという言葉の遊びとも考えています。
root
(それがあるか、UID 0を有する少なくとも一つのために理にかなっているし、それが一般的であるが)、参照runas_default
にsudoers
。
sudo ls
「スーパーユーザー、dols
」と読みます(そして、それは愚かではなく、ニーモニックはコマンドを覚えるために重要です)(そして、おそらく、それは「ユーザーを切り替える」という意味で、「s witch u ser and do」をsu
意味します。 -))