ホームにもどる      「パソコンについて」にもどる

Permission アクセス権
   Linuxではファイルのアクセス権(permission)があります。読むことが可能なのをw、書くことが可能なのをr、実行ファイルの実行が可能なのをxとします。そのどれもできないのを-とします。wはwritableのw、rはreadableのr、xはexecutableのxです。rwxなら、読むことも、書くことも、実行ファイルの実行も可能です。rw-なら、読むことと、書くことは可能ですが、実行ファイルの実行はできません。r--なら読むことだけ可能です。
   またファイルにアクセスする人を所有者(Owner)、グループに属する人(Group)、その他の人(Other)に分けます。それぞれに上記のアクセス権を割り当てます。だから rw-rw-r-- rwxr--r-- のような表示になります。rw-rw-r--は所有者は、読み書きが可能だが、実行ファイルを実行できない、グループに属する人も読み書きが可能だが、実行ファイルを実行できない、その他の人は読むことだけが可能であり、書くことも実行ファイルを実行することもできないとなります。rwxr--r-- は所有者は読み書きが可能であり、実行ファイルを実行することもできる、グループに属する人は読むことだけが可能であり、書くことも実行ファイルを実行することもできない、他の人も読むことだけが可能であり、書くことも実行ファイルを実行することもできないとなります。
   r w x の代わりに数字を割り当てて、数字で表示することがあります。xに1、wに2、rに4を割り当てます。どうして、1、2、4と割り当てるのだ、1、2、3と割り当てたほうがすっきりするし、簡単でないかと思うかもしれません。これは1、2、4を10進数の数字と考えるから違和感を持つのです。2進数で考えるなら、1、2、4と割り当てるほうが合理的なのです。10進数の1は2進数でも1です。10進数の2は2進数だと、10です。10進数の4は2進数だと、100になります。つまり、xに1、wに10、xに100を割り当てたのです。桁が一つずつ上がっていきますから、合理的な割り当て方です。10進数の3の数字は2進数で、11になります。xに1、wに2、rに3を割り当てると、2進数で考えると、xに1、wに10、xに11を割り当てることになります。wとxはともに2桁の数字になり、桁が一つずつ上るという美しさ、合理性がなくなります。
   この割り当てた数字を使い、rw-rw-r--なら662、rwxr--r--なら、722と表現できます。
rw-はrの4、wの2、-の0を足して、
4 + 2 + 0 = 6 となります。
rwxはrの4、wの2、xの1を足して、
4 + 2 + 0 = 7 となります。
   今まで1、2、4、6、7は10進数と説明してきましたが、実はこれは10進数でなく、8進数です。8進数は
0 1 2 3 4 5 6 7
の数字を使い表します。10進数の8は8進数では桁が1つ上がり、10になります。それで7までは、10進数と8進数は同じになります。なぜアクセス権は8進数の数字で表示し、10進数で表示しないのでしょうか。それは662 722 のような形で表示したいからです。662を見れば、所有者が6であり、グループの人が6であり、その他の人は2であることは明白です。662は10進数では。434になります。434という数字を見た時、所有者が6であり、グループの人が6であり、他の人が2ということがわかるでしょうか。8進数では、0 1 2 3 4 5 6 7 を使い、8を使わずに桁数をあげますから、662のような形になり、誰のアクセス権がいくらかが一目してわかる表示になるのです。
   もともと2進数をもとに数字を割り当てたのだから、662のような8進数にせずに、2進数で表示すればいいではないかと思うかもしれません。662を2進数で表示すると、110110010 になります。これはコンピューターにはわかりやすい表示です。しかし人間にはわかりにくいのです。0と1だけで表示していますから、同じ数字の羅列になり、わかりにくいのです。662と書くほうが、110110010と書くよりも、人間の目にはわかりやすいのです。さらに2進数の表記は8進数よりも、どうしても桁数が多くなります。それで入力しなければならないものが多くなります。入力するものが多いと入力ミスも出やすくなります。また0と1の羅列ですから、ミスがあったとしても、気付きにくくなります。2進数表記は人間にはやさしくないから、人間にやさしく、わかりやすい8進数で表記するのです。


作成日:2023年7月30日

ホームにもどる      「パソコンについて」にもどる