パーミッションの設定

  • Machintosh:FetchでUpLoad
  • Windows95:CuteFTPでUpLoad
  • Permissionの設定(Telnet,FTP)

  • パーミッション(permissions)とは、何でしょうか?

    CGIやSSIを利用する時、パーミッションという言葉を良く聞きます。

    UNIXの場合、多くのユーザーが同じワークステーションを利用するため、ファイルやフォルダごとに読める人、書着込める人、実行できる人を設定できます。

     パーミッションで設定できるアクセス方法は、

    1) read 読むことができる権利 (r で現します)
    2) write 書き込める権利 (w で現します)
    3) execute 実行することができる権利 (x で現します)

     またパーミッションで設定できるユーザレベルは、

    1) Owner ファイルやフォルダの持ち主
    2) group 持ち主の属するグループのユーザー全員
    3) Everyone(Public) UNIXにアクセスするすべてのユーザー。

     という権利に別れています。


    パーミッション設定の確認

    UNIX上で ls -lコマンドを実行すると、(MacのFetchでは<Remote><Viwe File List> WinのCutFTPなら<View><File details>)ファイルの一覧が表示されます。

    -rwxr--r-- 1 okamoto 124 Jun 15 1997 index.html

    上記の意味は左から順番に

    -  ファイルである事を意味する。フォルダの場合は d (ディレクトリ)
    rwx 最初の3文字はOwnerのパーミッション。この場合read,write,executeすべて許可。
    r-- 次の3文字はgroupのパーミッション。この場合readのみ許可。他は非許可です。
    r-- 次の3文字はEveryoneのパーミッション。この場合readのみ許可。他は非許可です。
    okamoto ここはファイルの持ち主です。通常IDが入ります。
    124 ファイルサイズです。単位はByteです。
    Jun 15 1997 ファイル作成年月日です。
    index.html ファイル名です。フォルダの場合、フォルダ名です。


    パーミッションを書き換える。

    これらのパーミッションを書き換える時、chmod というコマンドを利用します。
    また、パーミッション設定の命令には数字を利用します。

    例: > chmod 644 index.html
    (>はプロンプトで、%の場合や2文字の場合もあります)

    この644がそれぞれの許可内容を表しています。6がOwner 4がgroup 次の4がEveryoneです。尚、数字の後に設定するファイル名を書きます。

    また、数字は以下の方法で決まります。

    r = 4 , w = 2 , x = 1 としますから、
    rw-r--r--の場合は、644と設定します。
      rw- = 4+2=6 Owner
     r-- = 4 group
     r-- = 4 Everyone


    パーミッション設定の例:SSIのカウンターの例で説明します。

    先に、ダイアルアップ接続をし、接続後、Telnetを起動し、プロバイダーから教えられたサーバーにログインします。
    cd xxxx(xxxxはディレクトリ名)で、目的のファイルのあるカレントディレクトリに移動します。そして以下の様にタイプします。

    > chmod 755 counter.pl
    > chmod 666 counter.dat
    > chmod 644 index.html
    > chmod 644 .htaccess

    グループはプロバイダー利用の場合、赤の他人になるので、705,606,604のようにグループにはすべて非許可の方がよいでしょう。

    1) chmod 755 counter.pl
    counter.plはまずOwnerがアクセスした時、読み込み(Read)、そして実行し(Execute)、そしてそのファイルを削除する権利(Write)を与えますから、rwx(4+2+1=7) となります。
    グループユーザーと全員は、そのファイルを読み込み(Read)、実行(execute)しますが、削除等はできませんから、r-x(4+1=5) となります。
    つまり、rwxr-xr-x となり、755 という事になります。
    2) chmod 666 counter.dat
    counter.datは、データが格納されたファイルですから、Ownerも含め全員が読み込み、その後1足したデータを書き込みますが、実行する必要は無いので rw-(4+2=6)となります。
    つまり rw-rw-rw- となり 666 という事になります。
    3) chmod 644 index.html
    index.htmlは、Ownerは読み込み、そして削除したり希に書き込みますが、実行はしませんので、rw-(4+2=6)です。他のユーザーは読み込むだけですから r--(4)となり、
    つまり、 rw-r--r-- となり 644 という事になります。
    4)chmod 644 .htaccess
    .htaccessは設定を読み出すだけのファイルですから、全員に読み込みの権利、Ownerに削除書き換えの権利を与える為に、Index.htmlと同じになります。


    FTPでパーミッション設定

    FTPでのパーミッション設定をTelnetで許可せず、FTPのみというプロバイダーや、申請しないと設定できない場合がありますのでご注意ください。

    MacのFetchなら、接続後、パーミッションを変更するファイルを選択し、<Remote><Set Permissinons>を開き、読み(Read)、書き(Write)、実行(Execute)などをチェックします。

    644なら、「OwnerをRead,Write]をチェック [GroupをRead] [EveryoneをRead]をチェックします。
    755なら、「OwnerをRead,Write,Execute][GroupをRead,Execute」「EveryoneをRead,Execute]
    666なら、「OwnerをRead,Write]をチェック [GroupをRead,Write] [EveryoneをRead,Write]をチェックします。
    そしてOKをクリックすればパーミッション設定は終了です。


    Windowsユーザーは、CuteFTPを利用します。

    まず、接続します。で、右側のウインドウを<Viwe><Long listing>で詳細表示し、パーミッション設定したいファイルをワンクリックで反転させ、<Command><Change file attributes>で開いたウインドウです。

    644なら、「OwnerをRead,Write]をチェック [GroupをRead] [EveryoneをRead]をチェックします。
    755なら、「OwnerをRead,Write,Execute][GroupをRead,Execute」「EveryoneをRead,Execute]
    666なら、「OwnerをRead,Write]をチェック [GroupをRead,Write] [EveryoneをRead,Write]をチェックします。
    そしてOKをクリックすればパーミッション設定は終了です。


    他の書き方

    ファイルの持ち主 を userという意味で、u
    グループを groupという意味で、g
    第三者を Otherという意味で、o
    全員を all という意味で a を使い、
    > chmod u=rw index.html
     ファイルの持ち主に読み書きを許可という事です。
    > chmod a=rw counter.dat
     > chmod 666 counter.dat と同じ意味です。
    > chmod ug=rw xxxx.xxx
     持ち主とグループに読み書き許可。
    > chmod go= xxxx.xxx
     右辺未記入であれば、左辺はすべて不許可。
    > chmod g+r xxxx.xxx
     +を使うと、グループに書き込み許可をプラス。
    > chmod g-r xxxx.xxx
     -を使うと、グループの書き込み許可を取り消す。
    のような設定方法もあります。(HomePage作成には、あまり利用しませんが)


  • Machintosh:FetchでUpLoad
  • Windows95:CuteFTPでUpLoad
  • Permissionの設定(Telnet,FTP)

  • Copyright:ZAP 1997.4