タイトルBrowsing Mac OS X》“ルートになってファイルを変更する”ってなんのことでどうすればいい?(1)カテゴリーユーザ管理, Browsing Mac OS X
作成日2001/9/4 18:10:19作成者新居雅行
Mac OS Xはよく言われているように、コア部分はUNIXである。UNIXはもともとマルチユーザでの利用を可能にしているものであって、OSのさまざまなリソース、たとえばアプリケーションを起動してメモリを使うとか、ディスクをファイルやフォルダを使うといった場合に、「誰が使うのか」ということを明確にする必要があるシステムなのである。誰なのかを特定するのが「ユーザ」と呼ばれるものであるが、「アカウント」などとも呼ばれる。また、OSのさまざまなリソース類に対して、誰が使っていいのかということも規定できるようになっている。そうして、複数のユーザ利用に対する基本的なセキュリティが確保されているというわけだ。こうした考え方は、Mac OSには基本的にはなかった。AppleShare IPだとか、マルチユーザ機能を使うといくらかは体験できたかもしれないが、OS自体にユーザという考え方が薄かったのである。だからこそ、使いやすさもあったが、逆にセキュリティ面での管理のやり方も難しくなる場合があった。
UNIXがエンジニアを中心に使われている時代は、「きちんと勉強しろ」とかいったことがまかり通っていた。だがインターネットがこれだけ普及すると、UNIXを知らない人でもホームぺージを作るようになった。もちろん、単なるホームページを作るくらいないらUNIXの知識はいらないが、CGIを使いたいというユーザが増えてくる。CGIはある意味ではUNIXあるいはサーバOSの世界に入り込むわけで、おそらく人気のCGIプログラムをフリーで公開している人は、「常識的」であるはずのことがすっかり知らない利用者のサポートにうんざりしたこともあるのじゃないだろうか。次第に、「とにかくこうしなさい」という方針でCGIのインストール方法が掲載され、今ではUNIXのことは何も知らないでもCGIを使えるようにしているのが一般的な路線ではないだろうか。このことは、ユーザ、アクセス権、実行権限とかいったものは、一般的なユーザ層にはそう簡単には理解してもらえない事柄なのだということを学習したことになる。
しかしながら、Mac OS XにはコアOSにUNIXが稼動するようになり、内部的にはユーザというものをどうしても扱わないといけなくなった。そしてどのようにMac OS Xはそうした点をカバーするのかということに大きく注目したものだ。利用者がユーザを意識しないといけないのか、そうじゃないのか…2001年3月にリリースされた正式版は、インストールの時には確かに初期アカウントの登録が必要になるものの、それ以外の場面ではほとんど意識はしなくても使えるような配慮があった。その点では一般ユーザ向けOSの要件はかなりいい具合にクリアされていると言えるだろう。ただし、初期アカウントとそのときに設定したパスワードは普段は知らなくもいいけど、少しシステムに深く入ろうと思ったら必ず必要なので、メモしておくなどの処置は必ずしておいてもらいたい。
ちなみに気の早いMacユーザは、ルートというものの存在を知り、自由にMac OS Xを使うにはルートにならないといけないという早とちりをしたと思うが、普通にアプリケーションを使って文書作成やグラフィックス、インターネット利用をする上ではそんな必要はまったくない。インストーラで設定したアカウントのユーザとして自動ログインされた状態をそのまま使う上でまずもって問題は出ないと思ってよい。
このルートというのは、実は既登録のアカウントなのである。Mac OS Xに自動的にrootといアカウントが登録されている。rootユーザだと制約無しになんでもできる。言い換えれば、アクセス権として設定された制約を無視して作業ができると考えればよい。おそらく世の中のUNIXはすべてrootアカウントは存在すると思う。ディスクのフォルダの階層構造は、木の枝分かれ的になっているが、そのいちばん最初の部分は「ルート」と呼ばれる。一般ユーザはユーザのホームフォルダ(ディレクトリ)以下が自由になるのに対して、ディスク全体を自由にできるという意味でルートと名前が付いたという話をどこかで聞いたことがある。rootユーザはシステム全体の管理のためには必要な機能である。
LinuxやFreeBSDでは、rootとしてシステムを使うには、rootとしていきなりログインをするというのは通常はマシンに繋がれているキーボードとディスプレイでログインするときだけで、ネットワークからログインしているときにはそうした方法は一般にはとれなくなっている。そのため、まず「ルートになることができるアカウント」というもので一旦ログインをする。そのアカウントは、wheelというグループ(ユーザを分類するもの)に所属させてあるアカウントである。そして、ログインをしてから「su」というコマンドを入れて、さらにrootのパスワードを入れて、rootになるという手続きを踏む。その意味では、ネットワークからのログインでrootになるには、2重のパスワード保護がかかっているとも言えるだろう。

Mac OS Xも同じようになっているかというと、そうではない。インストールした直後の状態では、rootユーザにはなれないようになっている。ログインもできなければ、suコマンドでルートになることもできない。しかしながら、それではある意味不便ではあるので、「sudo」コマンドを使う方法を用意している。このsudoコマンドは、引数に指定したコマンドを、一瞬(というかコマンドを実行する上で)rootになって実行するというものだ。sudoの後に、インストールする時に設定したログインをしている自分のアカウントのパスワードの入力が必要になる。しかしながら、そうすることで、rootとしてコマンドを実行できる。もちろん、Terminalを起動して、そこでsudoコマンドを入れるのである。
なお、これだと、ルートになって実行しないといけないコマンドがたくさんある場合には不便だ。だから、suコマンドでルートになることはできるが、NetInfo Managerを使ってシステムの設定を変える必要がある。この方法については、MDOnlineで配信した以下の記事を参照してもらいたい。

2001/4/5●Browsing Mac OS X》アカウントとルートについて、あえてルートになる必要はない
2001/4/6●Browsing Mac OS X》ルート関連記事の追加情報、ルートが無効でもsudoは使えるなど

もし、誰でも簡単にルートになることができるのであれば、間違えてルートになり、システム管理上、重大な損傷を起こしてしまう可能性は高い。だけど、Mac OS Xのようなやり方だと、間違えてルートになることはまずないだろう。それなりに知った上でルートになるというのが一般的だと思われる。つまりは自然な意味でのガードがかかっていると言えるわけだ。
(続く)
関連リンク