Linuxでは、admin/root/superuserはどのように機能しますか?

Linuxでは、admin/root/superuserはどのように機能しますか?

私たちは学校に通うときにWindowsについて学びました。その後、コンピュータ工学の学士号プログラムを選択し、私たちはWindowsの代わりにLinuxを使用する必要がありました。彼らはLinuxの基本を教えることなく、プログラミングを直接教え始めます。私はLinuxにある程度慣れているので、これは難しくありませんでした。しかし、Linuxの管理者、ルート、またはスーパーユーザーシステムについてはまだいくつかの質問があります。今私の問題はいくつかのサブ問題で構成されています。だから問題は次のとおりです。

  1. #端末プロンプトの(ハッシュ)はスーパーユーザーとして実行されていることを意味し、$(ドル)はスーパーユーザーとして実行されていないことを意味します。しかし、私のアカウントは管理者アカウントですが、#端末プロンプトには表示されません。代わりにsu管理権限を持つには、コマンドを使用してログインする必要があります。なぜそんなことですか?

  2. 管理者、ルート、スーパーユーザーという用語は同じですか? Windowsには「管理者」という用語が1つしかあり、アカウントが管理者アカウントである場合、デフォルトでは常に管理者権限でログインしているため混乱します。つまり、Linuxのように必ずしもそうではありません。

  3. 大学のコンピュータにUbuntuがインストールされていて管理者としてログインする必要がある場合は、パスワードを入力する必要があり、パスワードを入力するように求められ、suスーパーユーザーになるには現在のアカウントパスワードを入力する必要があります。しかし、私はUbuntuのデザインが気に入らなかったので、代わりにラップトップにFedoraをインストールしましたが、インストール中に2つのパスワードを入力するように求められました。 1つは一般アカウント(管理者権限を持つ)、もう1つは「root」ユーザー用です。それでは、通常のアカウントを使用して管理者としてログインする必要がある場合は、通常のパスワードではなく「root」パスワードでログインする必要がありますか?では、ソフトウェアが管理者権限を直接付与しないのに、なぜ一般的なパスワードが必要なのでしょうか。

編集する:

誰かが私にLinuxの管理システムを説明できますか?ルートとは何ですか?管理者ですが、管理者権限がないのはなぜですか?

答え1

Unix / Linuxシステムのすべてのアカウントには、数値識別子、「ユーザーID」、またはUIDがあります。通常、UID 0(ゼロ)は「root」と命名され、特別な権限(通常はシステム内のすべてのエントリにアクセスする権限)が付与されます。

あなたできるルートパスワードがある場合は、rootユーザーとしてログインできます。しかし、そうすることは通常悪い習慣と見なされます。

一方、Unix / Linuxはしばしば以下を提供します。十分セキュリティなしで射撃する余地はありません。タイプミスや事故が多い最も簡単な回復は、完全な再インストールおよび/またはバックアップから復元することです。したがって、不要なことを誤って実行するのを防ぐために、必要に応じて実際にrootに切り替える必要があります。

また、マルウェアの拡散を制限するのにも役立ちます。 WebブラウザがUID 0(「root」と呼ばれる)で実行されている場合、リモートWebサイトはプログラミングエラーを悪用してコンピュータを完全に制御できます。 「一般」ユーザーアカウントを維持すると、これらのダメージが制限されます。

どちらも「最小権限の原則」という一般的なベストプラクティスに従います。これは正直なところ、一般的なシステム設計にとって良いことです。常にrootとして実行されていない特定の理由について詳しく学ぶことができます。rootでログインするのが過大評価されて心配ですか?

今残った質問はどうするかということです。できるroot以外のユーザーで保護されたコンテンツにアクセスします。suとの2つの基本的な方法がありますsudo。 1 つ目は root パスワードが必要で、2 つ目は一般的な構成に必要です。あなたのパスワード。通常、sudoセッション全体のルートアカウントに切り替えるのではなく、「root」を使用して単一のコマンドを実行します。 (su -cドキュメントでよく見られるものを使用してこれを行うこともできます。)これらの相対的な利点の詳細な説明については、以下を参照してください。sudo、su、またはloginの間でroot権限を取得する最も安全な方法は何ですか?。 (そして完璧のためにsudoではありませんが、GUIアプリケーションで一般的に使用されているPackageKitなど、同じ方法で動作する他のメカニズムもあります。)

「root」、「スーパーユーザー」、「管理者」という用語が同じかどうかを尋ねました。 「root」と「スーパーユーザー」は基本的に両方です。正確に言うと、「アカウントrootは次のようになります。これスーパーユーザーのUIDが0であるためです。 」

「行政職員」できる意味は同じですが、Fedoraでは*やや異なる方法で使用されます。システムのすべてのユーザーがsudoを介してrootにアクセスできるわけではありません。 Fedoraのデフォルト設定では、グループメンバーはwheelこれを行うことができます。そして、インストーラ、ドキュメント、および他の場所でこれを呼び出します。これ「管理者アカウント」。ルートではありませんが、root アクセス権があります。

(ああ、最後の1つ:プロンプトの#vsは$決定的ではないビジュアルルールです。PS1プロンプトがさまざまな操作を実行するように環境変数を変更できます。)

*私はFedoraで働いています。

答え2

  1. セキュリティの問題についてはこちらをご覧ください。https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root

  2. はい

  3. su代替ユーザーを使用してコマンドを実行できます。これは、引数なしで呼び出されると、デフォルトで対話型シェルをrootとして実行するように設定されます。バラよりhttp://www.linfo.org/su.htmlこれにはルートパスワードが必要です。

    実行してこれを上書きできますsudo su(実行が許可されている場合)。 Sudoを使用すると、許可されたユーザーはスーパーユーザーまたはセキュリティポリシーで指定された他のユーザーとしてコマンドを実行できます。 (/etc/sudoers ファイルで指定) 詳細については、こちらをご覧ください。https://www.sudo.ws/man/1.8.15/sudo.man.html

    最後の質問です。最初はそうです。しかし、ほとんどの人は使いやすいものを好みますsudo。最後に申し上げると、どんなことを言っているのかわかりませんが、アカウントごとに異なるパスワードを設定する方が良いでしょう。

答え3

Windows と Linux は管理権限を異なる方法で管理します。

Windowsでは、システム管理タスクは高い特権レベルで実行されるプロセスによってのみ実行できます。一般プロセスは、一般権限レベルで実行されます。ユーザーアカウントが管理者としてマークされている場合、ユーザーは通常高い権限レベルでプロセスを実行できます。これを行うにはパスワードを再入力する必要があります(「共同支援センター「すばやく」) したがって、管理者は、権限を昇格させる権限を持つアカウントを持つユーザーです。

Linux(およびその他のUnixシステム)では、システム管理タスクは次の方法でのみ実行できます。rootユーザー。これは、人がログインするのではなく、システム操作に使用されるユーザーアカウントです。 rootユーザーはユーザーID(0)として定義されます(通常はアカウントを呼び出しますが、アカウントを特別にするのは名前ではrootなくユーザーIDです)。管理者は、rootアカウントへのアクセス権を持つユーザーです。

Linuxでrootアカウントにアクセスするには2つの主な方法があります。システム管理者はこれらのいずれかまたは両方をアクティブにすることができます(まれに、同じツールを使用する他の方法、または異なる構成のツール)。

  • これsuこのコマンドを使用すると、rootアカウントのパスワードを知っているすべてのユーザーがrootアカウントにアクセスできます。一部の設定では、伝統的にグループメンバーとして知られている特定のユーザーのみがwheelsurootでコマンドを実行できます。
  • これsudosudoersコマンドを使用すると、コマンドがsudo構成ファイル()に直接宣言されている場合、またはグループメンバーシップを介して宣言されている場合は、ユーザーがrootとしてコマンドを実行できます。ユーザーは通常、sudo自分のパスワードを入力する必要があります。これは、主にユーザーが端末を離れるときにsudoを使用する通行人を避けるためです。

したがって、Linuxに管理者アカウントがある場合は、rootとしてコマンドを実行またはsudo実行できることを意味しますsu。 rootでコマンドを実行しない場合は、一般権限があります。

関連情報