linuxのファイルパーミッション覚え書き

linuxが提供するファイルパーミッション機能によって、ファイルの読み書きや実行、ディレクトリへの書き込みや削除をコントロール出来る。

1.ファイルのオーナーとグループ、パーミッションを確認

コマンド$ ls -lで、ファイルのオーナー(所有者)と、ファイルが所属しているグループ、パーミッションを確認することが出来る

$ ls -l /etc/wgetrc
-rw-r--r-- 1 root root ...  

意味: ファイルのオーナー=root ファイルのグループ=root で、 オーナーはファイルの読み込み・書き込みができる
ファイルのグループと同じグループに所属するユーザはファイルの読み込みだけが出来る
その他のユーザもファイルの読み込みだけができる

自分が所属しているグループは$ groups コマンドで確認する


rwx     rwx      rwx  
オーナー  グループ  その他のユーザ

2.ディレクトリのパーミッション

コマンド $ls -ldで、ディレクトリのパーミッションを確認することが出来る

$ ls -ld ~
drwxr-xr-x 30 user-name user-name ...

ディレクトリの場合は、r,w,xの意味が少し異なる。
r: そのディレクトリに含まれるファイル一覧を取得
w: そのディレクトリの下にファイル・ディレクトリを新規作成 または削除
x: そのディレクトリをカレントディレクトリにする


3.chmodコマンドでパーミッションの変更

r(読み込み):4
w(書き込み):2
x(実行):1
とし、その合計値を用いてファイルパーミッションを変更できる。

例:あるファイルについて、オーナー・グループ・その他のすべてのユーザに読み込みと書き込みを許可したい場合は
sudo chmod 666 file-nameと実行すれば良い
例2:オーナーのみ読み込み・書き込み・実行の許可を出したい場合
sudo chomod 700 file-name