パーミッション注意報

今回、課題の提出は、
指定ディレクトリに保存されたプログラムファイルをこっちで自動回収するというものですが、
その回収がファイルやディレクトリの「パーミッション」によってうまくいかないことがあります。

「パーミッション」とは
ファイルやディレクトリごとに設定できる
「他の人には見せない」とか「書き込み禁止」とかいった情報のことです。

ls -l filename

とすることで「filename」という名前のファイルやディレクトリのパーミッションを見ることができます。
実際にやってみると

drwxr-xr-x

とか

-rw-r--r--

とか左端の方に出てきます。
それぞれにちゃんとした意味があります。

一番左の文字……
 filenameで指定されたものがディレクトリか、ファイルか、等を表示。
 つまり、「d」で始まるものはディレクトリということであり、
 「-」で始まるものはタダのファイルということになる。

のこった9個の文字……これがパーミッションという代物ですが……
 「rwxr-xr-x」とかいうのは、
 「r:読込可能」、「w:書き込み可能」、「x:実行可能」、「-:許可しない」という意味です。
 ではなんで「r:読込可能」が上の例では3個もあるかというと、
 この読込許可などは「誰に対しての許可か?」で3パターンあるからです。

 左3つは「自分への許可」です。上の例だと左3つは「rwx」となっているので、
 自分はそのファイルへ書き込んだり、それを読み込んだり、実行したり、
 何でもできる状態だということです。

 中3つは「グループの人への許可」です。これはおそらく大学であれば
 「他の学生への許可」ということになるかと思われます。
 上の例では「r-x」になっているので、
 このファイルは他の学生が読み込んだり、実行したりできますが、
 書き込んだりはできません。

 最後の3つは「他人への許可」となります。
 上の例だと「r-x」なので、他人が読み込んだり、実行したりはできますが、
 書き込むことだけはできません。

 「他人」と「他の学生」の違いは、学生というグループに属しているかいないか……の、
 違いだと思いますが、ここではそこまで深く気にする必要はないかと。

で、肝心なのは演習の課題を保存するディレクトリや、保存したファイルが
他人や他の学生から読めるようにパーミッションが設定されているかどうかなんです。

これは初期設定を変えてない限り気にすることではないのですが、
一応、念のために。

もし、課題用のファイルやディレクトリのパーミッションが「-rw-------」とか
「drwx------」とかいう寒い状態になっていると
それは他人からは一切アクセスできない状態になっているということです。

これでは我々が課題用のファイルを自動回収にいけません!

そういうときには

ディレクトリに対しては「chmod 755 directoryname」つまり、
たとえば「~/sccp/」というディレクトリのパーミッションを
他人に対してオープンな状態にするには

chmod 755 ~/sccp

とします。これでそのディレクトリのパーミッションは「rwxr-xr-x」となります。
一方でファイルの時はちょっと違っていて「chmod 644 filename」とします。
たとえば「~/sccp/ex01/p02.c」というファイルを
他の人に対してオープンな状態にするには

chmod 644 ~/sccp/ex01/p02.c

です。

まぁ、一応、デフォルトでディレクトリやファイルのパーミッションが
他人を通さないようになってることはないと思いますが、
もし意図的に変えている人がいる場合は、
この課外プロジェクトで使用するディレクトリやファイルだけは
他人からも見られるようにパーミッションを設定し直しておいて下さい。

お願いします。