アカウントに関する説明が長くなったが、本題に入ろう。Mac OS Xでは、システムの設定は「システム環境設定」を行うなど、基本的には通常の利用でできるようになっている。しかしながら、いくつかの設定はどうしても、通常の利用ではできない。たとえば、ネットワーク設定に関する重要な設定が、/etc/hostconfigというテキストファイルに記載されている。このファイルを書き直すには、rootの権限が必要なのである(参照は誰でもできる)。 今までのMDOnlineの記事でも、「ルート権限を得て/etc/hostconfigを修正し…」などと一言で済ませていることも多いが、おそらくアカウントのことなどの詳細を知らないとここで何のことか分からなくなるだろう。これまでに説明してきたことを踏まえて、この/etc/hostconfigを編集する方法を説明したいが、まず大きく分けて、Terminalで行う方法と、テキストエディタを使う方法の2つがある。Terminalを使う方法は、他のUNIXと同様、コンソールで動くエディタを使う方法であり、Mac OS X独特の方法ではない。たとえば、suコマンドでルートになっておき、その後、viやpicoというコマンドで、エディタを起動する。一般には、ファイルのあるディレクトリをカレントディレクトリにしておいて、viやpicoに続いてファイル名を入力する。つまり、Terminalで、su→パスワード入力→cd /etc→pico hostconfig、という具合にコマンドを入力するというわけである。 viについては、以前から使っていて慣れている方には、もちろんかまわないが、やっぱりいちいちコマンドを入れてはエディットを行うというのは、通常のエディタに慣れてしまうとかなり面倒くさい。むしろ、一般的なエディタと同じように使いたいのなら、picoをお勧めする。control+O、そしてreturnキーを押すことで上書き保存ができ、control+Xでpicoを終了できることを知っておけばとりあえず使える。あとは矢印キーでカーソルを動かし、キータイプや削除などを行えばいいというわけである。
一方、Mac OS Xに付属するTextEditを使って、ルート権限が必要な編集作業を行うには、一般的には次のように作業する。まず、Terminalを起動して、「sudo open /Applications/TextEdit.app」とコマンド入力を行う。その後、求められたら、ログインしているアカウントのパスワードを入力する。すると、TextEditが起動する。そこで「ファイル」メニューから「開く」を選択して、ダイアログボックスで開きたいファイルを指定する。もちろん、ここで見えているファイルは普通に作業すればいいが、/etcディレクトリのファイルは見えていない。その場合は、「移動先」にパス名を記述してしまえばよい。
◇開くファイルのパス名を記述する
「移動先」にたとえば「/etc」と記載すると、etcディレクトリの内容が一覧できるなど、通常は見えていないディレクトリでも移動先に記述すれば参照できるようになるのである。「移動先」にパスを含むファイル名を記述するとそのファイルを開く。 さらに開くファイルが分かっているのであれば、TerminalでTextEditを起動する時に、「sudo open -a /Applications/TextEdit.app /etc/hostconfig」のようにコマンドを入れてもよい。-aの後にアプリケーションへのパスを書き、最後に開くファイルのパスを記述する。 開いたファイルは、通常通り、TextEditで編集を行って保存をすればよい。ProcessViewerなどで確認してもらいたいが、TextEditは、ユーザrootとして実行しているため、基本的にはアクセス権に関係なくファイルの書き込みもできてしまう(もっともhostconfigはファイルの所有者はrootである)。終了も通常通り行えばよい。
root権限でないと編集できないファイルも、以上のような仕組みを知っておき、その上でいずれかの方法を使って行えばとりあえず良いということだ。もちろん、Terminalを使う方法はUNIXに慣れている方は十分御存じだろうが、TextEditを使う方法も知っておくと、作業自体は楽だ。特に複雑に編集作業をするとなるとやっぱりTextEditなどのエディタを使うのがやりやすい。ただ、バージョンアップを重ねるごとに、さらにこうしたことはしなくてもいいようになる可能性も出てくることも、頭の片隅に入れておこう。 |