はじめに
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)
- FFFTP
■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
|