スーパーユーザー
出典: フリー百科事典『ウィキペディア(Wikipedia)』
スーパーユーザー(Superuser)とは、多くのオペレーティングシステムでシステムアドミニストレータが制御する特殊なユーザーアカウントを指す。
MS-DOSやWindows 95のような一人の個人が使用することを前提としたオペレーティングシステムでは、特別なスーパーユーザーアカウントは存在しなかった。事実上、そのシステムを使用する者には常に管理者特権が与えられていたとみなすことができる。管理者特権を通常のユーザーと分離することにより、オペレーティングシステム(OS)のセキュリティが強化された。そのような分離をしていないOSはセキュリティレベルが低いと考えられる。
[編集] UNIX系OS
UNIX系OSでは、root が全モードで全権利(あるいはパーミッション)を持つユーザーの規約名である。BeOSではbaron、一部のUNIX系システムではavatarと呼ぶ。BSD系システムではtoor(rootの逆)アカウントも用意されていることが多い。root は普通のユーザーではできない多くのことができる。例えば、ファイルパーミッションを無視してファイルを操作したり、1024以下のポートを操作したりといったことである。
一般に、通常使用するアカウントとして root を使用すべきでない。というのも、ちょっとしたタイプミスでもシステムに重大な損害を与える可能性があるからである。普通のユーザーアカウントを作成して日常の利用に使うことが推奨され、su
コマンドを必要なときに使うようにすべきである。sudo
ユーティリティを代わりに使うこともできる。
Mac OS Xなどの多くのOSでは、管理者アカウントで出来ることを制限することができる。場合によっては管理者アカウントを使えなくすることもでき、その場合は必要に応じて使えるようにしなければならない。
ユーザーが「rootになる」ことができる(そのユーザーが持ってきたコードを管理者特権で実行できる)というソフトウェア上の欠陥は大きなセキュリティ問題であり、システムを安全になるよう保守する作業の大半はそのようなソフトウェアへの対処である。例えばスーパーユーザー特権を持つプロセス上でバッファオーバーランを発生させることでrootの権限を得ることができる。
ある人物が「rootアクセス権を持っている」ならば、その人はそのコンピュータの管理者として行動できることを意味している。root であるということは、ある意味で他のユーザーに対して権力を握っているとも言える。多くの経験豊かなUNIXシステムアドミニストレータは「単にシステムをメンテナンスする責任があるだけだ」と重要でないことを強調する。
[編集] Windows NT
Windows NTとその派生OSでは、スーパーユーザーは存在することもあるし、そうでない場合もある。デフォルトでは、Administrator というスーパーユーザーのアカウントがあるが、UNIXの rootアカウントと正確に対応するわけではない。Administratorアカウントはrootよりも権限の範囲が狭く、一部のスーパーユーザー特権はLocal Systemアカウントに割り当てられている。
Windows 2000以降では、cmd.exeやCOMMAND.COMの内部コマンドとして、プログラムを任意のユーザー権限(スーパーユーザー権限も含む)で実行するための RUNAS コマンドが用意されている。詳しくはマイクロソフトの文書を参照されたい。また、GUI 環境においては、プログラムやそのショートカットを、シフト・キーを押しながら右クリックすると、任意のユーザ権限で実行させることができる。