パーミッション関連について


最近パーミッションのことを意識することが増えてきたので、自分宛へのメモを書いていきます。


パーミッションは、ファイルやディレクトリへのユーザーのアクセス権です。
本来Unixでは、1台のマシンを複数ユーザーで使用することを前提としているため、ファイルへの書き込み権限とか所有者とかが備わっているみたいです。

「読み」「書き」「実行」の権限と「Owner」「Group」「Others」の所有者からなっています。


具体的には、
読み(Readable)→r
書き(Writable)→w
実行(Executable)→x

となり、実際に僕の任意のファイルを例に挙げると

htmlファイルのほうだと
-(ファイル。dだとディレクトリ)rw-(Ownerが読み書き可能)rw-(Group読み書き可能)r--(Othersが読みだけ可能)
続けて、1つめのhirokawasakiがそのファイルの(orディレクトリ)Ownerで2つめがGroup、1476がバイト数で最終編集時間とファイル名となっています。

ちなみにr,w,xの表記は、数字で表すこともできて、「r=4「w=2」「x=1」となります。
なのでパーミッションが「rw-r--r--」のとき、
r+w => 6(Owner)
r => 4(Group)
r => 4(Others)
で、「644」となります。


コマンド

パーミッション変更のコマンドは以下のようになります。


$ chmod [対象ユーザー] [パーミッションの表記] [対象のファイル]

対象ユーザーは

  • u (Ownerに対して)
  • g (Groupに対して)
  • o (Othersに対して)
  • a (すべてのユーザーに対して)

となり

実際に、index.htmlファイル(任意のファイル)のOwnerに対して読み書きの権限を与えたい場合は


$ chmod -u+rw index.html
となります。

「+」ではなく、「-」を指定するとアクセス権を排除し、「=」にすると指定されたアクセス権がそのまま適用されます。


また上に書いたように数字で指定したい場合は


$ chmod 644 index.html
のように書きます。


次に、ファイルやディレクトリの所有者を変更する場合は


$ chown (option) [user / :group / user:group] [file]
となり、

任意のファイルの所有OwnerとGroupをrootに変えたい場合


$ chown root:root index.html
となります。

詳しくはこちら。
http://codezine.jp/unixdic/w/chown/


p.s.
頭ではなんとなくわかっていても、文章まとめるのって難しいですね。


参考

-