ちょっとお勉強〜

□パーミッションについて□ 2003/01/15(水)発行
2003/01/21(火)改正


    パーミッションについて

    「パーミッション (Permission)」とは直訳で「許可・認可」を意味します。
    (MS-DOS 系の方は「アトリビュート」に相当するものだと思って下さい)
    Unix など、OSではファイルやディレクトリの利用権限を示すもので、環境に
    よって様々なバリエーションがありますが、ここでは便宜上、一般的な Unix の
    パーミッションを説明します。また、説明をわかりやすくするために、事実とは
    若干異なる表現を使っている個所がありますが、どうか御了承下さい。
      パーミッションの構成自体は、大きく3つのグループに分けられます。
      1) オーナーユーザ
      2) グループユーザ
      3) その他のユーザ

    オーナーユーザは「自分(管理者)」であり、グループユーザは同一のグループ
    として扱われているユーザ(大抵、同じサーバを使っているユーザが同一グルー
    プになっています)、それ以外をその他のユーザとしています。
    ブラウザから HTML や CGI などのファイルをアクセスする場合には、すべて
    「その他のユーザ」になります。
    FTPで、自分のアカウントで自分の public_html であればオーナー権限が、
    他人の public_html であれば グループ権限が、それぞれ適用されると考えて
    下さい。この3つに対して、さらに3種類の「属性」があります。(計9コ)

      1) 読出許可 (Read)
      2) 書込許可 (Write)
      3) 実行許可 (eXecute)

    これらはすべてビットパターンで組み合わせて表現されます。
    さらにファイルなのか、ディレクトリなのかという属性を合わせ持つことで、
    パーミッションが構成されています。
    例えば、ファイルに対して、オーナーは読出・書込・実行を許可、グループと
    その他のユーザは読出と実行を許可、というパーミッションは
    - rwx r-x r-x と表現されます。
    見た事がありますよね。ls や dir コマンドの出力にでてくる文字列です。
    ですが、一般にパーミッションの設定は 705 や 606 といった3桁の数字で
    行います。なぜそういう指定になるのかを説明しましょう。

    705 を例にとります。705 = rwx --- r-x になりますが、これを図にすると
    rwx −−− r−x というのは、
    −−− −−− −−−
    111 000 101 という2進数で表されます。 (1=有効 0=無効)
    左から3桁づつ、オーナー、グループ、その他、に該当します。この3桁
    づつの2進数を10進数に直すと、それぞれ7、0、5になり、設定値705が決まります。

    606 も同じ理屈で rw- --- rw- = 110 000 110 = 606 になります。

    これをファイルに対して行うか、ディレクトリに対して行うかで使い分けるのです。
    パーミッションの設定自体の操作は、ツールによって様々ですが、ほとんどのツールが
    705 のように3桁の数字で指定するようになっています。
    CGI を設置するには避けて通れない部分ですので、しっかり覚えて下さい。

    余談ですが、新規に転送した直後のファイルや、新しく作ったディレクトリ
    のパーミッションにはデフォルト(初期値)が設定されています。サーバの設定
    によって値は異なりますが、この値は HTML ファイルにとって都合の良い値になっています。
    HTML ファイルの転送後に、パーミッションの設定が不要なのは、この為なのです。

    以上の解説は、Unix のパーミッションについて、すべてを網羅しているわけ
    ではありません。あくまで CGI の設置に必要な部分だけを記載している事を忘れないで下さい。


[戻る]