Googleのヒットにより、Sudoはスーパーユーザーdoを意味することがわかります- ここに投稿 。
私がしたときにそれを確認したかっただけです
Sudo node my_node_program
rootユーザーとしてプログラムを実行しています。
する
superuser === root
いくつかの調査の後、Appleはrootがスーパーユーザーであると述べています。これは、スーパーユーザーがグループであり、rootがグループ内のユーザーであることを意味します。
support.Apple.com を参照してください。
みんなが用語/概念を一緒にぼやけているようです。
はい、原則として、ルートとスーパーユーザーは同じです。 「root」は、Unixタイプのシステムで完全なシステム権限を持つユーザーに通常与えられる名前です。
他のユーザー/アカウントが同じレベルのアクセス権を持つことは技術的に可能です。これは純粋な意味論ですが、一部の人々はこれらのアカウントを「スーパーユーザアカウント」(アカウントのタイプとアクセスを説明する)と呼び、他のアカウントは「ルートアカウント」と呼びます。 。
ところで、sudoはスーパーユーザーを意味するものではありません
Sudoは、特権を昇格/変更するメカニズムです。 Sudoを使用して通常のアカウントをスーパーユーザー権限に昇格させることは可能ですが、より制限されたアクセスを提供するために使用することもできます。ユーザーが別のユーザーとしてものを実行できるようにします。これは通常、スーパーユーザーよりもはるかに制限されています。 (たとえば、ユーザーがSudo
を使用してWebサーバーユーザーとして何かを実行すると、通常はアクセスできないリソースにアクセスできますが、セキュリティ権限を変更したり、 rootアカウント/スーパーユーザーアカウントのみがアクセスできるものにアクセスします。)
スーパーユーザーは、システム管理に使用されるユーザーアカウントを指す総称です。つまり、スーパーユーザーは、ユーザーアカウントの作成/削除などの特権操作を実行できます。スーパーユーザーアカウントの実際の名前と実装は、オペレーティングシステムによって異なることに注意してください。
Unixライクなオペレーティングシステム(macOS、GNU/Linux、BSDなど)では、スーパーユーザーは、どのように名前が付けられていても、UID(ユーザー識別子)がゼロのアカウントです。これらのほとんどのOSでは、慣例によりrootと名付けられています。
したがって、superuserとrootは、ほとんどのUnixライクなOSで互換的に使用できますが、同じ意味ではありません。
「スーパーユーザー」は、多くの場合セキュリティの役割の説明ですすべての権限を付与するモデル。
これまで、スーパーユーザーの役割に関連付けられたログイン/ユーザー名は、MacOSなどのUNIXライクなオペレーティングシステム(およびMS Windowsの「管理者」など)ではroot
でした。
スーパーユーザーはrootと同じですか?
はい、プログラムを実行するすべての目的と目的のために「スーパーユーザーとして」または「ルートとして」は同じであり、「通常の」ユーザーとして実行できなかったことができるようになります(たとえば、1〜1024の範囲の予約済みポートをリッスンするサービスを開始し、新しいユーザーを作成するなど)システム管理タスク。)
私がしたときにそれを確認したかっただけです
Sudo node my_node_program
rootユーザーとしてプログラムを実行しています。
マニュアルに記載されているように( man Sudo
で確認)オプションの-u [username|#uid-number]
引数を使用してユーザーを指定せずにSudo
を実行すると、デフォルトでコマンドがroot
として実行されます。
違いがあります...
root
はスーパーユーザーのユーザー名であり、すべてのUNIXに存在すると予想されます。ルートuid
は0
、スーパーユーザーのuid
。
しかし、uid 0
、それらすべてにスーパーユーザー権限も付与されます(ほとんどの場合、uid
が関連付けられ、ユーザー名は関連付けられていません。/etc/passwdの名前は、ほとんどがls
、find
etcは、uid
の代わりに人間が読める名前を表示し、uid
(chown
など))。
awk -F':' '($3 == 0)' /etc/passwd # will list all superuser accounts. root, and maybe others
したがって、ルートとスーパーユーザーは同等ではありません。 rootは「メイン」スーパーユーザーですが、他にも存在する可能性があります...
さらに、一部のグループは、一部のファイル/ディレクトリに対して「スーパーユーザー権限」を付与します。または、ACLを使用してスーパーユーザーが何かを実行できるようにすることもできます(ただし、そのユーザーのuidに制限されているため、スーパーユーザーの権限は自動的に付与されず、スーパーユーザーが予約したコマンドやディレクトリへのアクセスが許可されるだけです)。そして、いくつかの/ etc/sudoersエントリを使用して、他のログインがいくつかのコマンド(またはALL)をスーパーユーザーとして実行することができます(今回はスーパーユーザーの実効uid、つまり権限を使用します)...
Sudoを実行すると、プロセスコールのeffectiveユーザーまたはグループID、あるいはその両方が変更されます。 Sudoのデフォルトはroot
ユーザーですが、他のユーザーやグループも使用できます(-u
フラグなど)。
root
ユーザーはシステムのデフォルトのスーパーユーザーですが、名前の選択はハードコーディングされた要件ではなく規則です。ただし、マゾじゃない限り変更しないでください。
あなたはこれを後ろ向きに見ています。ルートはスーパーユーザー(たとえば、システム特権が昇格されたユーザー)のインスタンスですが、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ユーザーほど不愉快な驚きを引き起こす可能性はありません。
私にとって、superuserはgroupの名前を表し、rootは、スーパーユーザーグループに属するaccountです(デフォルト)。ほとんどのシステムはこのアナロジーを使用しています。
ほとんどのシステムはsuperuserグループを「wheel "と呼びます。
google search は、Sudoがスーパーユーザーの略であることを示しているため、インターネットは時々非常に誤解を招く可能性があります。ただし、Sudoを使用して他のタイプのユーザーに切り替えることができるため、これは当てはまりません。
rootは、口語的にスーパーユーザーと呼ばれるタイプのユーザーのインスタンスです。 「スーパー」紀元前ユーザーは高レベルのアクセス権を持っています。
スーパーユーザータイプのユーザーは多数存在する可能性があり、実際には多くのnixシステムでrootという名前でログインできます。
人々がSudoをスーパーユーザーと誤解する理由は、root
がSudoのデフォルトユーザーであるためです。次の行を実行すると、この効果を確認できます。
Sudo whoami
root
を返します
「スーパーユーザー」は、システムで特権を持つ人を修飾するために使用されました。 「root」は、* NIXシステムにおけるスーパーユーザーの一般的なログ名です。
その人はスーパーユーザーで、彼のログインは「root」です。
現在、これらの用語は頻繁に交換可能かつ無害に使用されています。