web-dev-qa-db-ja.com

スーパーユーザーはrootと同じですか?

Googleのヒットにより、Sudoスーパーユーザーdoを意味することがわかります- ここに投稿

私がしたときにそれを確認したかっただけです

Sudo node my_node_program

rootユーザーとしてプログラムを実行しています。

する

superuser === root

いくつかの調査の後、Appleはrootがスーパーユーザーであると述べています。これは、スーパーユーザーがグループであり、rootがグループ内のユーザーであることを意味します。

support.Apple.com を参照してください。

みんなが用語/概念を一緒にぼやけているようです。

30
Sun - FE

はい、原則として、ルートとスーパーユーザーは同じです。 「root」は、Unixタイプのシステムで完全なシステム権限を持つユーザーに通常与えられる名前です。

他のユーザー/アカウントが同じレベルのアクセス権を持つことは技術的に可能です。これは純粋な意味論ですが、一部の人々はこれらのアカウントを「スーパーユーザアカウント」(アカウントのタイプとアクセスを説明する)と呼び、他のアカウントは「ルートアカウント」と呼びます。 。

ところで、sudoはスーパーユーザーを意味するものではありません

Sudoは、特権を昇格/変更するメカニズムです。 Sudoを使用して通常のアカウントをスーパーユーザー権限に昇格させることは可能ですが、より制限されたアクセスを提供するために使用することもできます。ユーザーが別のユーザーとしてものを実行できるようにします。これは通常、スーパーユーザーよりもはるかに制限されています。 (たとえば、ユーザーがSudoを使用してWebサーバーユーザーとして何かを実行すると、通常はアクセスできないリソースにアクセスできますが、セキュリティ権限を変更したり、 rootアカウント/スーパーユーザーアカウントのみがアクセスできるものにアクセスします。)

39
davidgo

スーパーユーザーは、システム管理に使用されるユーザーアカウントを指す総称です。つまり、スーパーユーザーは、ユーザーアカウントの作成/削除などの特権操作を実行できます。スーパーユーザーアカウントの実際の名前と実装は、オペレーティングシステムによって異なることに注意してください。

Unixライクなオペレーティングシステム(macOS、GNU/Linux、BSDなど)では、スーパーユーザーは、どのように名前が付けられていても、UID(ユーザー識別子)がゼロのアカウントです。これらのほとんどのOSでは、慣例によりrootと名付けられています。

したがって、superuserrootは、ほとんどのUnixライクなOSで互換的に使用できますが、同じ意味ではありません。

19
nxnev

「スーパーユーザー」は、多くの場合セキュリティの役割の説明ですすべての権限を付与するモデル。

これまで、スーパーユーザーの役割に関連付けられたログイン/ユーザー名は、MacOSなどのUNIXライクなオペレーティングシステム(およびMS Windowsの「管理者」など)ではrootでした。

スーパーユーザーはrootと同じですか?

はい、プログラムを実行するすべての目的と目的のために「スーパーユーザーとして」または「ルートとして」は同じであり、「通常の」ユーザーとして実行できなかったことができるようになります(たとえば、1〜1024の範囲の予約済みポートをリッスンするサービスを開始し、新しいユーザーを作成するなど)システム管理タスク。)

私がしたときにそれを確認したかっただけです

Sudo node my_node_program

rootユーザーとしてプログラムを実行しています。

マニュアルに記載されているように( man Sudo で確認)オプションの-u [username|#uid-number]引数を使用してユーザーを指定せずにSudoを実行すると、デフォルトでコマンドがrootとして実行されます。

12
HBruijn

違いがあります...

rootはスーパーユーザーのユーザー名であり、すべてのUNIXに存在すると予想されます。ルートuid0、スーパーユーザーのuid

しかし、uid 0、それらすべてにスーパーユーザー権限も付与されます(ほとんどの場合、uidが関連付けられ、ユーザー名は関連付けられていません。/etc/passwdの名前は、ほとんどがlsfind etcは、uidの代わりに人間が読める名前を表示し、uidchownなど))。

awk -F':' '($3 == 0)' /etc/passwd  # will list all superuser accounts. root, and maybe others

したがって、ルートとスーパーユーザーは同等ではありません。 rootは「メイン」スーパーユーザーですが、他にも存在する可能性があります...

さらに、一部のグループは、一部のファイル/ディレクトリに対して「スーパーユーザー権限」を付与します。または、ACLを使用してスーパーユーザーが何かを実行できるようにすることもできます(ただし、そのユーザーのuidに制限されているため、スーパーユーザーの権限は自動的に付与されず、スーパーユーザーが予約したコマンドやディレクトリへのアクセスが許可されるだけです)。そして、いくつかの/ etc/sudoersエントリを使用して、他のログインがいくつかのコマンド(またはALL)をスーパーユーザーとして実行することができます(今回はスーパーユーザーの実効uid、つまり権限を使用します)...

3
Olivier Dulac

TL; DR

Sudoを実行すると、プロセスコールのeffectiveユーザーまたはグループID、あるいはその両方が変更されます。 Sudoのデフォルトはrootユーザーですが、他のユーザーやグループも使用できます(-uフラグなど)。

rootユーザーはシステムのデフォルトのスーパーユーザーですが、名前の選択はハードコーディングされた要件ではなく規則です。ただし、マゾじゃない限り変更しないでください。

UID 0は組み込みスーパーユーザーです

あなたはこれを後ろ向きに見ています。ルートはスーパーユーザー(たとえば、システム特権が昇格されたユーザー)のインスタンスですが、LinuxまたはUnixシステムには任意の数のスーパーユーザーが存在できます。 rootは、たまたまexpectedの実際のIDが0のユーザーの名前です。そのユーザーID(UID)はカーネルにハードコードされており、* nixシステムで特別な権限を受け取ります。

デフォルトのスーパーユーザーグループ(たとえば、ほとんどのLinuxディストリビューションではroot、ほとんどのBSD派生物ではwheel)に他のユーザーも含めることができ、関連する読み取り、書き込み、実行権限セットを持つものにアクセスできます。モードのグループビット。例えば:

-rw-rw-r--  1 root  root  6804 Aug 17  2018 /etc/passwd

このファイルは、rootユーザーだけでなく、rootグループの誰でも読み取りおよび書き込み可能です。

SudoやSGIDバイナリなどのさまざまなユーティリティは、他のユーザーに、特権操作の実行を可能にする効果的なUID(EUID)または効果的なGID(EGID)を提供できます。推奨されていませんが、同じUIDを持つ複数のユーザーを持つこともできます。そのため、アカウント名が異なっていても、UIDが0の/ etc/passwd内の誰もが事実上rootになります。一部のBSDには、標準のrootユーザーとともに、実際にはUIDが0のtoorユーザーが含まれています。

Rootアカウントの名前を別の名前に変更することもできます。多くのスクリプトとユーティリティはUID 0の最初のアカウントが実際にはnamedrootであることを期待し、多くの場合、UIDまたはGIDではなくアカウントの名前を使用してアクセス許可を設定するため、これは一般に悪い考えです。 。たとえば、次の行は通常同等です。

chown 0:0 /etc/passwd
chown root:root /etc/passwd

ただし、kernelは、rootアカウントの名前をtoorまたはluserに変更しても問題ありませんが、通常は、壊れる可能性があります。実際のIDが0のrootという名前の最初のスーパーユーザーアカウントがない場合。すべての実用的な目的のために、これを事実上の移植性の標準と考えてください。

デフォルトのスーパーユーザーグループ

ほとんどのLinuxシステムは、デフォルトのスーパーユーザーグループの名前にrootを使用します。ユーザーrootはこのグループのメンバーです。通常、グループには0のグループID(GID)が割り当てられますが、これはカーネルによって強制されません。

MacOSのようなBSDベースのシステムでは、デフォルトのスーパーユーザーグループは通常、wheelではなくrootです。この違いはクロスプラットフォームスクリプトで発生する可能性がありますが、名前を変更したrootユーザーほど不愉快な驚きを引き起こす可能性はありません。

0
CodeGnome

私にとって、superusergroupの名前を表し、rootは、スーパーユーザーグループに属するaccountです(デフォルト)。ほとんどのシステムはこのアナロジーを使用しています。

ほとんどのシステムはsuperuserグループを「wheel "と呼びます。

0
Hatebit

google search は、Sudoがスーパーユーザーの略であることを示しているため、インターネットは時々非常に誤解を招く可能性があります。ただし、Sudoを使用して他のタイプのユーザーに切り替えることができるため、これは当てはまりません。

rootは、口語的にスーパーユーザーと呼ばれるタイプのユーザーのインスタンスです。 「スーパー」紀元前ユーザーは高レベルのアクセス権を持っています。

スーパーユーザータイプのユーザーは多数存在する可能性があり、実際には多くのnixシステムでrootという名前でログインできます。

人々がSudoをスーパーユーザーと誤解する理由は、rootがSudoのデフォルトユーザーであるためです。次の行を実行すると、この効果を確認できます。

Sudo whoami

rootを返します

0
livelong.ai

「スーパーユーザー」は、システムで特権を持つ人を修飾するために使用されました。 「root」は、* NIXシステムにおけるスーパーユーザーの一般的なログ名です。

その人はスーパーユーザーで、彼のログインは「root」です。

現在、これらの用語は頻繁に交換可能かつ無害に使用されています。