このページの本文へ

Linux操作の基本、ファイルやディレクトリ操作をコマンドでできるようになろう。

覚えておきたい必須コマンド30―その1・ファイルの基本操作

2001年05月31日 00時00分更新

文● 中野 賢

  • この記事をはてなブックマークに追加
  • 本文印刷

ファイルやディレクトリのパーミッションを変更するには、chmodコマンドを用いる。

パーミッションは、読み取り、書き込み、実行の3組を所有者、グループ、その他のユーザーに対してそれ ぞれ設定する。この指定の方法には記号モードと数値モードの 2通りがある。

たとえば記号モードでは、次のように指定する。

USER$ chmod ugo+rwx fuga

最初のugoは、所有者(user)、グループ(group)、その他(other)に対しての操作であることを指定している。次のプラス記号で許可を与えている。その許可は、読み取り(read)、書き込み(write)、実行(execute)である。

許可をしないようにするにはプラスの代わりにマイナスを指定する。たとえば、その他のユーザー(other)に対して書き込み(write)できないようにするには、次のようにする。

USER$ chmod o-w fuga

数値モードは、最初は難しく感じるかもしれないが、慣れると非常に使いやすい。このモードでは、それぞれの許可の設定を以下に示す値の合計で指定する。

  • 400 所有者の読み取り
  • 200 所有者の書き込み
  • 100 所有者の実行
  • 40 グループの読み取り
  • 20 グループの書き込み
  • 10 グループの実行
  • 4 その他の読み取り
  • 2 その他の書き込み
  • 1 その他の実行

たとえば、所有者とグループに対して読み取りと書き込み、その他のユーザーへは読み取りだけの許可となるようにするには、次のようにする。

USER$ chmod 664 fuga

所有者だけに読み取りと書き込み、グループとその他は読み取りだけにするには、644となる。所有者だけがフルコントロール、グループとその他は何もなしならば700だ。

ディレクトリに含まれるファイルのパーミッションをすべて変更したい場合は、Rオプションを指定する。

USER$ chmod -R go-w fuga

ただし、このときにファイルの実行フラグを取ろうとして、

USER$ chmod -R go-x fuga

のようにしてしまうと、サブディレクトリの実行許可もなくなってしまう。ディレクトリはそのままで、通常のファイルだけ実行許可を変更したい場合は、次のようにする。

USER$ find . -type f -exec chmod go-x {} \;

グループの変更は、chgrpコマンドで行う。ただし、新しく設定するグループのメンバーでなければならない。

自分が属しているグループはgroupsコマンドでわかる。

USER$ groups
users root

この例でのユーザーであれば、グループをusersかrootに変更することが可能だ(画面1)。

USER$ ls -l linux.txt
-r--r--r--   1 ken-na   users   15097 Mar 19 18:56 linux.txt
USER$ chgrp root linux.txt
USER$ ls -l linux.txt
-r--r--r--   1 ken-na   root    15097 Mar 19 18:56 linux.txt

画面1 ファイルのグループを変更する

ディレクトリに含まれるファイルのグループをすべて変更したい場合は、chmodと同じようにRオプションを指定する。

ファイルの所有者の変更は、chownコマンドで行う。ただし、スーパーユーザーだけが変更できる。それ以外のユーザーは変更できないことに注意する(画面2)。

root# ls -l linux.txt
-r--r--r--   1 ken-na   root    15097 Mar 19 18:56 linux.txt
root# chown www  linux.txt
root# ls -l linux.txt
-r--r--r--   1 www      root    15097 Mar 19 18:56 linux.txt

画面2 ファイルの所有者を変更する

chownもRオプションで再帰的に所有者を変更できる。

週刊アスキー最新号

編集部のお勧め

ASCII倶楽部

ASCII.jp Focus

MITテクノロジーレビュー

  • 角川アスキー総合研究所
  • アスキーカード
ピックアップ

デジタル用語辞典

ASCII.jp RSS2.0 配信中