Apacheの設定ファイルのパーミッションを変更する
.cgiや.plの拡張子を持つCGIのファイルの実行やSSIを使用できるように、Apacheの設定ファイルを一部書き換えます。設定ファイルは、「/private/etc/httpd/httpd.conf」と「/private/etc/httpd/users/username.conf」です(usernameは、自分のユーザー名が入ります)。各サイトの情報によると「/private/etc/httpd/httpd.conf」を書き換えるとマルチユーザーで使用している場合、全ユーザーに適用され、「/private/etc/httpd/users/username.conf」の場合は、各ユーザー別に適用されると言う事なので、ここではusername.confを書き換える方法を説明します。また、他のUNIXと互換のため、「/etc/」が「/private/etc/」のシンボリックリンクになっていますので、「/etc/httpd/users/username.conf」でも同様にアクセスする事が出来ます。
username.confはパーミッションを変更しないと書き換え出来ないので、Terminalを使ってパーミッションを変更しますが、まずFinderの「移動」メニューから「フォルダに移動…」を選択します。
ダイアログに「/etc/httpd/users/」と入力し「移動」ボタンをクリックします。
Finderの表示をカラムにしていると下記の様に表示されると思います。私の場合、子供たちを含め5人分のユーザーを登録していますので、この中のtoshio.confを書き換えます。
いよいよTerminalを起動します。上記のFinderウインドウと重ならないようにTerminalのウインドウを配置するとドラッグ&ドロップがしやすくなります。Terminalを起動すると、下記の様に表示されます。
toshioのところには、usernameが入ります。まず、usersフォルダの各ファイルのパーミッションを確認してみましょう。userフォルダは一般ユーザーではアクセス出来ないので、sudoコマンドと組み合わせてコマンドを入力します。半角小文字で"sudoスペースlsスペース-alスペース"と入力します。
"sudo ls -al "
それからFinderウインドウからusersフォルダをTerminalウインドウにドラッグ&ドロップします。
これでパスが入力されます。もちろん、タイプしてもかまいませんが慣れないうちはこの方が早いと思います。最後にreturnキーを押し入力を完了します。sudoコマンドの実行には管理者のpasswordを要求されますので、passwordを入力します。ユーザーを1人しか登録していなければ、そのユーザーのpasswordが管理者のpasswordになっています。
上の図の様に、passwordは表示されません。各username.confの所有者は"root"、グループメンバーは"wheel"、パーミッションが"-rw-r--r--"と表示されます。これは下記の事を表しています。
ディレクトリかファイルかを表しています。
"d"→ディレクトリ
"-"→ファイル |
r 読込みを許可する。不許可ならば
- |
w 書込みを許可する。不許可ならば
- |
x 実行(ディレクトリの場合は検索など)を許可する。不許可ならば
- |
ファイルの所有者のパーミッション |
グループメンバーのパーミッション |
その他のユーザーのパーミッション |
 |
"-rw-r--r--"は、最初の1文字目以外を許可を"1"、不許可を"0"の2進数で表現するとファイルの所有者が"110"、グループメンバーが"100"、その他がユーザーが"100"となります。さらに各ユーザーを1桁で表現出来るように、これを8進数に直しますと"110"が"6"、"100"が"4"となりますので、"644"と表現されます。r
= 4、w = 2、x = 1としてユーザー毎に合計してもOKです。このパーミッションでは、所有者の"root"以外書込みが出来ませんので、グループメンバーも書込みの出来る"664"に変更します。これは、デフォルトで管理者権限を持つユーザーは、"wheel"グループに所属しているからです。
先程と同様に半角小文字で"sudoスペースchmodスペース664スペース"と入力します。
"sudo chmod 664 "
それからFinderウインドウから目的のusername.confを、Terminalウインドウにドラッグ&ドロップしパスを入力してreturnキーを押します。今度はpasswordを要求されないかもしれません。sudoコマンドを実行して5分間はpasswordなしでsudoコマンドを受け付けるためで、時間が過ぎているとpasswordの入力を求められます。(これ以降、returnは省略します。)
パーミッションの変更がうまくいった事を確認するため、もう一度usersフォルダの各ファイルのパーミッションを確認します。
目的のusername.conf、この図ではtoshio.confのパーミッションが"-rw-rw-r--"と変更されている事が確認出来ます。