はじめに
UNIXではファイルひとつひとつに、誰が何をすることができるかを指定するモード(パーミッション)
を設定することができます。これはUNIXは複数のユーザによって利用される為です。
ファイルのパーミッションの覚えかた
- 一般的に次のように覚えておくといいでしょう。設定時に指定がある場合はそれに従います。
・通常の読み出すだけのHTMLやテキストファイルや画像 644
・CGIスクリプトやhtpasswdなどの実行プログラム 755
・データの記録などの読み書きできるファイル 666
・通常のディレクトリ 755(パーミッションはファイルだけではないです)
- 真ん中の数字はグループへの許可ですから、通常は必要ないはずです。
ですから、0に設定しても問題はありません。
しかし極一部のサーバでは何故かそうすると動作しないところもあるようなので、
各自確認の上実行してください。できれば604、705、606等にしたいものです。
どこにいても、 |
| 必要なデータに手が届きます。 |
FTPでモード設定できる場合
- 大抵のサーバではFTPでモード設定が可能になっています。操作方法については各FTPソフトの
説明を読んでください。パーミッション設定とかマスク設定とか、同じことでもいろいろな言葉が
ありますので、把握してください。
- 例えば、あなたのホームページであるindex.htmlか何か、通常のHTMLファイルのモード変更を
行ってみましょう。
- 通常はファイルを新規転送することで、その新規に作成されたファイルのモードは
644になっています。もし666になっているようであれば、プロバイダに依頼して644になる
ようにしてもらうといいでしょう。666では他のグループユーザがシェルから簡単にそのファイルを
書き換えることができてしまいます。なぜなら666はそれを許可するという意味なのですから。これは
もう分かっていますね。
- FTPソフトでそのファイル(644になっていてもいなくてもいいです)を644に設定してみます。
- 実行結果が表示されると思います。もし、「SITE command not implemented」と表示されれば、
あなたのサーバではFTPでのモード設定ができないようになっています。後述するシェルで設定することになります。
(参考)
■FFFTP(Win)・・・レスキューのおすすめ
- このフリーソフトは便利です。転送時に文字コードも半角カナも自動で変換してくれる機能があります。
- 属性も一覧できるので、CGIユーザにはGOODです。
- さらに、セキュリティ上ピリオドから始まるファイル名を出さないサーバがありますが、
このソフトだと一覧できてしまう(必ずかどうかは不明)ので、削除等に便利な場合があります。
- FFFTPのヘルプしてください。
FFFTP パーミッション変更方法
■WS_FTP(Win)
- かあこの「WS_FTP LE」全機能解説を参照してください。
■CuteFTP(Win)・・・レスキューが当初から使っているもの
- 属性も一覧できるので、CGIユーザにはGOODです。
- 変更したいファイルをクリックします。
- メニューバーの「Commands」をクリックし、「Custom Commands」の「Change files Access mask」を選択します。
- 入力ウインドウが開きますから、パーミッション値(755とか666とか)を入力し、「OK」を押します。
■Fetch(MAC)
- Fetchの設定と使い方
UNIXシェルでモード設定する場合
- telnetなどでシェルに入ります。ここまではプロバイダで教えてもらって習得してください。
- モード設定したいファイルのあるディレクトリまで移動(cd)したり、ファイルリスト(ls)したりは
UNIXコマンドリファレンスや参考書を参考にして習得してください。
telnet% chmod
使用法: chmod [-fR] ファイル ...
chmod [-fR] file ...
はカンマで区切られた
[ugoa]{+|-|=}[rwxXlstugo] のリストです。
telnet% chmod 755 *.cgi *.pl
telnet% chmod 666 *.dat
---------------------------------------
rw-r--r-- = 644
rwxr-xr-x = 755
rw-rw-rw- = 666
|