Charlie Root (オペレーティングシステム)
Charlie Rootは、BSD系オペレーティングシステムの管理者ユーザ(→スーパーユーザー)の初期設定値である。
基本仕様
[編集]Unix系オペレーティングシステム (OS) の管理者権限を持つユーザはrootである。これは、管理者ユーザがroot(最上層)ディレクトリをユーザディレクトリとするためである。 Unix系のログイン情報を記録するpasswdファイルの仕様として、ユーザID、パスワードの他にGECOS Fieldが存在する。本フィールド[1]は、歴史的にGECOSシステムを制御するための制御情報等を含むものであったが、以後、フルネームや電話番号等、人間が読む(fingerで取得する)情報を記入するために使われている。→GECOS。GECOS Fieldの仕様として、"&"(アンパサンド)はユーザIDを反映する。
実装
[編集]BSD系OSの管理者ユーザは、初期状態でGECOS FieldはCharlie &であるため、'&'(アンパサンド)が管理者IDである"root"に置換され、自動的に管理者ユーザはCharlie Rootとなる。 FreeBSDおよびNetBSDの最古(各バージョン1.0)のコードは取得可能であり、CVS repositoryから内容を確認することができる。[2][3] [4] FreeBSD, NetBSDともに386BSDpatchkitからの派生物(OpenBSDはNetBSDからの派生)であるため、同一のファイルがインポートされている(以下に抜粋)。
root::0:10::0:0:Charlie &:/root:/bin/csh
dmr:*:10:31::0:0:Dennis Ritchie:/usr/guest/dmr:
ken:*:11:31::0:0:& Thompson:/usr/guest/ken:
bill::12:10::0:0:& Jolitz:/usr/bill:/bin/csh
lynne::14:10::0:0:& Jolitz:/usr/lynne:/bin/csh
管理者ユーザのGECOS Fieldは"Charlie &"であり、各UIDのGECOS Fieldにデニス・リッチー、ケン・トンプソン、ビル・ジョリッツ、リン・ジョリッツのユーザ名が、全て「名」・「姓」の形式で記入されていることが確認できる。つまり管理者ユーザのRootは苗字として扱われていることがわかる。
疑問
[編集]いつから管理者は"Charlie Root" なのか
[編集]386BSD Patchkit以前ということになるが、4.2BSDも同一である[5]。
"Charlie Root" とは誰?
[編集]米国メジャーリーグの野球投手にCharlie Rootがいる。選手登録された1926年 から1941年の間に勝利数201勝を上げており、優秀な成績を残している。しかし、BSDが開発されている1990年代から見て約50年前に引退した選手である上、彼が在籍していたのはシカゴ・カブスであり、所在地は中西部イリノイ州のチームである。一方、BSDが開発されているカリフォルニア大学バークレー校の所在地は、西部カリフォルニア州であり、ビル・ジョリッツがよほどのカブス狂いであったとは考えにくい。
FreeBSDの/usr/bin/calendar/calendars/calendar.freebsd にはCharlie Rootという人物の誕生日(1993年6月19日)が記入されているが[6]、これはFreeBSDの名称が提案された日[7]であり、calendar.freebsd rev=1.36[8]ではFreeBSDプロジェクト開始日として登録されたものの名称を、rev=1.39で変更したものであるため、人物としてのCharlie Rootと直接の関係はない。
なぜ姓なのか?
[編集]GECOS Fieldに&が記入された時点で、そこには姓・名を入れるルールがあったためにCharlieが追加されたもの思われるが、姓ではなく名でも良かったはずである。もっとも、前述のCharlie Rootをはじめ、Rootを姓に持つ人は存在するが、名に持つ人は少ないためかもしれない。米国国勢調査の結果(1990年度)では、[9]、Root姓は1834位(参考:1位はSmith姓)であるが、Rootを名とする人はいない。
BSD系OSでは、一般ユーザが/bin/shを使う一方で、管理者ユーザは/bin/cshを使うよう初期設定されている。「cshを利用する人たち」という意味合いで、cshの1文字目CのフォネティックコードであるCharlieを割り当てたという可能性がある。そこに冗談をからめて「Root一族」という扱いにしたものかもしれない。
まとめ
[編集]なぜBSD系OSの管理者IDがCharlie Rootであるのかは、BSDの歴史上最大の謎の一つであり、未解決の問題となっている。調査の結果、野球選手Charlie Root説、フォネティックコード説の2つが有力であると考えられるが、いずれも決定的な証拠に欠けるため、正確な意味を把握するためには、今後の関係者の証言を待つ必要がある。
FreeBSD ProjectのSecurity Teamメンバーで、かつCommercial Gallery EditorであるRemko Lodderのコメント[10]によると、「知らないよ。Kirk(マーシャル・カーク・マキュージック)が知っているんじゃない?:-)」という回答であった。
脚注
[編集]- ^ Linux manpage (passwd): GCOSと呼ばれることもあるが、これはGE社のシステム部門がHoneywell社に売却された際に変更されたものである
- ^ FreeBSD1.0の/etc/master.passwd
- ^ NetBSD1.0の/etc/master.passwd
- ^ OpenBSDの初期/etc/master.passwd
- ^ “4.2BSDの/etc/passwdファイル” (filesystem dump). 4.2BSD. The Unix Heritage Society. 2010年2月7日閲覧。 “root::0:10:Charlie &:/:/bin/csh”
- ^ FreeBSD calendar.freebsd rev=1.39
- ^ FreeBSDの名称の提案
- ^ FreeBSD calendar.freebsd rev=1.36
- ^ 米国名前ランキング検索
- ^ FreeBSD-Advocacy メーリングリスト