• English
  • Japanese

ファイルやディレクトリのアクセス権

ここでは Linux ワークステーションでのファイルやディレクトリのアクセス権に関して簡単に解説します.
アクセス権を適切に設定することで,他人に見られたくない情報を守ることや,情報を共有することが可能です.

確認方法

アクセス権の確認は ls コマンドに -l オプションをつけて実行することによって行えます.

fk048888[sun11]% ls -l
合計 40
drwxr-xr-x  2 fk048888 student  4096  4月  7 18:00 public_html
drwx------  8 fk048888 student  4096  4月  7 18:00 smbhome

表示された一覧の左側に r,w や x 等のアルファベットがありますが,その意味は下記の通りです.

  • 1文字目の“d”はディレクトリであることを示しています. シンボリックリンクであれば“l”,ファイルであれば“-”と表示されます.

  • “r”,“w”,“x”の意味は以下のようになります.

    • “r”はファイルやディレクトリ内の読み取り権限

    • “w”はファイルやディレクトリ内への書き込み権限 (削除権限も含む)

    • “x”はファイルやディレクトリ内での実行権限

    • “-”はファイルやディレクトリに対する権限がない

  • 2文字目から 4文字目はそのファイルやディレクトリに割り当てられている所有者(上記の例の場合は fk048888)に対する権限を表しています.

  • 5文字目から 7文字目はそのファイルやディレクトリに割り当てられているグループ(上記の例の場合は student)に対する権限を表しています.

  • 8文字目から 10文字目はそのファイルやディレクトリに割り当てられている所有者やグループ以外に対する権限を表しています.

上記の例の場合,public_html は誰でも参照可能ですが,ファイルやディレクトリを作成することはできません. 作成できるのは所有者である fk048888 のみとなります.
smbhome は所有者である fk048888 のみ参照可能です.

ls コマンドの詳細情報は man ls して出力されるマニュアルを参照してください.

アクセス権の設定方法

アクセス権の設定方法は chmod コマンドで行います.

fk048888[sun11]% chmod go-rx public_html
fk048888[sun11]% ls -ld public_html
drwx------  2 fk048888 student  4096  4月  7 18:00 public_html

上記の例では一時的に個人 Web ページを閉鎖する場合の例です.

chmod コマンドの後ろで指定している go-rx の意味は,「グループ(group)と,所有者やグループ以外(other)から読み取り権限(read)と実行権限(execute)を取り除く(-)」となります.

これを元に戻す場合は下記のように chmod コマンドを実行します.

fk048888[sun11]% chmod go+rx public_html
fk048888[sun11]% ls -ld public_html
drwxr-xr-x  2 fk048888 student  4096  4月  7 18:00 public_html

chmod コマンドの後ろで指定している go+rx の意味は,「グループ(group)と,所有者やグループ以外(other)に対して読み取り権限(read)と実行権限(execute)を割り当てる(+)」となります.

例えば,所有者自身以外の誰にも見せたくないファイルやディレクトリとしたい場合は下記のように chmod コマンドを実行します.

fk048888[sun11]% chmod go-rwx secret

smbhome (Windows の H ドライブ) は標準状態で所有者以外の権限は割り当てられていません.
このアクセス権は変更しないよう注意してください

chmod コマンドの詳細情報は man chmod して出力されるマニュアルを参照してください.

標準の設定に関して

日吉 ITC では,新規にファイルを作成した場合や FTP などでファイルを転送した場合の権限は -rw-r--r- となります.
ディレクトリを新規に作成した場合は drwxr-xr-x となります.

グループの変更方法

グループの変更方法は chgrp コマンドで行います.

fk048888[sun11]% chgrp hogehoge public.html

上記の例では public.html ファイルのグループを hogehoge に変更する場合です.

利用しているアカウントで変更できるグループを確認するには id コマンドを利用します.

fk048888[sun11]% id
uid=999999(fk048888) gid=1001(student) 所属グループ=513(DomUsers),999999(hogehoge)

DomUsers グループは日吉 ITC にアカウントを所有しているユーザ全員が登録されています.
(hogehoge グループは架空のグループです)

chgrp コマンドの詳細情報は man chgrp して出力されるマニュアルを参照してください.

chmodchgrp を組み合わせた利用方法

chmodchgrp を利用すると,同じグループに属している他のアカウントと共同で作業できるファイルやディレクトリが作成できます.

fk048888[sun11]% ls -ld common
drwxr-xr-x  2 fk048888 student  4096  4月  7 18:00 common
fk048888[sun11]% chgrp hogehoge common
fk048888[sun11]% chmod g+w common
fk048888[sun11]% ls -ld common
drwxrwxr-x  2 fk048888 hogehoge  4096  4月  7 18:00 common

上記の例では common ディレクトリを hogehoge グループに変更し,hogehoge グループに属しているアカウントに対して書き込みのアクセス権を設定したこととなります.

このディレクトリの中には hogehoge グループに属しているアカウントであれば,新規にファイルやディレクトリを作成することが可能です.

書き込み権限を与えた場合は削除権限も与えたことになりますので注意しましょう.

最終更新日: 2011年6月15日

内容はここまでです。