UNIX/Linux 設定「超」基本知識

home 一覧 掲示板 リンク 検索方法



ユーザー、ルートとは?
パーミッションとは?
パーミッションを数字で表現する
※書いてあることの保障はしません。

ユーザー、ルートとは?

UNIX/Linux系OSでは、普通はユーザーとしてログインして、インストールだとか、共通の設定だとかのときにだけルートになって作業をします。ルート(root)というのはWindowsでいうAdministratorのようなもので絶対権限を持つものです(ただしSELinuxを導入している場合は違います)。ルートになるには
su
でパスワードを入力するとなります。また、
exit
でもとにもどれます。ルートになった状態で、
cd
とすると、ルートのホームディレクトリが分かります。おそらく/rootではないでしょうか?
(通常、crontabで毎日行なうようなスクリプトはここに置いておきます。)

パーミッションとは?

ファイルやディレクトリには所有者、所有グループがいます。これは、
ls -l
でみることができます。

この赤で囲った部分が所有ユーザ(u)、青で囲った部分が所有グループ(g)です。所有ユーザを変更するにはchown、所有グループを変更するにはchgrpを用います。もちろんこれにはルートになることが必要です。
では、ファイルを読みこんだり、書きこんだり、実行したりできる権限(パーミッションといいます)はどこで分かるのでしょうか?それは同じls -lででる画面にかいてあります。下図を見て下さい。

この図はls -lの表示の最初の部分を拡大してあります。まず、赤の矢印(1)はこのファイルのファイルタイプを示しています。普通のファイルならば-、ディレクトリならd、シンボリックリンクならばl、キャラクタデバイスならc、ソケットならsが表われます。その隣の緑の矢印(2)で示された3文字が所有ユーザの権限を示しています。rwxと書いてあるのは、r=読みこみ権限、w=書きこみ権限、x=実行権限がそれぞれ与えられていることを示します。権限がない場合はr、w、xのかわりに-が表示されます。隣の青の矢印(3)の部分は、所有グループの持つ権限を表わしています、この場合、r-xとなっていて、wが-に変わっているので書きこみ権限がないことが分かります。もっとも右の水色の矢印(4)は他のユーザの権限を表わしています。例えばWEBに公開するファイルの場合は、他のユーザ権限のrを許可しないと、外から見ることができません。
この権限を変更するには、chmodを用います。

パーミッションを数字で表現する

パーミッションの表現は、rwxによる表現以外に数字を使ってできます。まず、所有ユーザ(u)がファイルを読む権利(r)を持つことを4で表わすとします。次に、ファイルを書きこめる権利(w)を2で表わすとします。最後に実行権(x)を1で表わすとします。そして、パーミッションの総合はこれら数値の和で表わされます。すなわち、
rwx = 4+2+1 = 7
-wx = 0+2+1 = 3
r-x = 4+0+1 = 5
rw- = 4+2+0 = 6
--x = 0+0+1 = 1
r-- = 4+0+0 = 4
-w- = 0+2+0 = 2
--- = 0+0+0 = 0
となります。そして、これを所有ユーザ、所有グループ、他人の順番に並べます。たとえば
752
は、所有ユーザ=7=rwx、所有グループ=5=r-x、他のユーザ=2=-w-ということになります。パーミッションの変更はこの数値を使ってもできます。
chmod 755 ファイル
のように使います。慣れれば、ugoを一度に別々に変更できるので便利です。
またデフォルトで作成されるファイルのパーミッションを変更するにはumaskを用います。