トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

パーミッション

[カテゴリ:Linux]

参考

第1回:パーミッションの基礎 2004/9/27
http://www.stackasterisk.jp/tech/engineer/permission01_01.jsp

第2回:特殊なパーミッション(suid, sgid, sticky) 2005/1/17
http://www.stackasterisk.jp/tech/engineer/permission02_01.jsp

第3回:特殊な属性とACL(Access Control List)
http://www.stackasterisk.jp/tech/engineer/permission03_01.jsp

UNIXのパーミッション
http://www.loveruby.net/ja/misc/perm.html

パーミッションの効果を実際に体験してみる。

ファイルのパーミッション

r:そのファイルを読める 
w:そのファイルを変更できる 
x:そのファイルをプログラムとして実行できる 
====================================
                catF execF echo>>F
====================================
-rwx------ f700 ×   ×    ×       →★
-rwx-----x f701 ×   ×    ×
-rwx----w- f702 ×   ×    ○
-rwx----wx f703 ×   ×    ○
-rwx---r-- f704 ○   ×    ×
-rwx---r-x f705 ○   ○    ×
-rwx---rw- f706 ○   ×    ○       →★
-rwx---rwx f707 ○   ○    ○       →★
====================================
○の条件        =r   =rx   =w
====================================

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

r:そのディレクトリを ls できる 
w:そのディレクトリの中でファイルを作成・消去できる 
x:そのディレクトリの中のファイルにアクセスできる 
====================================================
                lsD lsDF catDF touchDF echo>>DF du-a
====================================================
drwx------ d700 ×  ×   ×    ×      ×       ×       →★
drwx-----x d701 ×  ○   ○    ×      ○       ×
drwx----w- d702 ×  ×   ×    ×      ×       ×
drwx----wx d703 ×  ○   ○    ○      ○       ×
drwx---r-- d704 △  ×   ×    ×      ×       ×
drwx---r-x d705 ○  ○   ○    ×      ○       ○
drwx---rw- d706 △  ×   ×    ×      ×       ×
drwx---rwx d707 ○  ○   ○    ○      ○       ○       →★
====================================================
○の条件        =rx =x   =x    =wx     =x       =rx
====================================================

確認するために作った環境

id

user01

user01@vm-etch:~$ id
uid=1001(user01) gid=1001(user01) 所属グループ=1001(user01)
user01@vm-etch:~$

user02

user02@vm-etch:~$ id
uid=1002(user02) gid=1002(user02) 所属グループ=1002(user02)
user02@vm-etch:~$

ディレクトリ、ファイルはuser01をオーナーとして作成。
パーミッションの確認はuser02から行った。

作ったディレクトリ、ファイル一覧

命名規則
「d70?」:ディレクトリ名
「f70?」:ファイル名

/home/user01/perm 以下

vm-etch:/home/user01/perm# ls -al
合計 16
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 .
drwxr-xr-x  3 user01 user01 184 2006-10-17 17:39 ..
drwx------  2 user01 user01  72 2006-10-17 21:43 d700
drwx-----x  2 user01 user01  72 2006-10-17 21:43 d701
drwx----w-  2 user01 user01  72 2006-10-17 21:43 d702
drwx----wx  2 user01 user01  72 2006-10-17 21:43 d703
drwx---r--  2 user01 user01  72 2006-10-17 21:43 d704
drwx---r-x  2 user01 user01  72 2006-10-17 21:43 d705
drwx---rw-  2 user01 user01  72 2006-10-17 21:43 d706
drwx---rwx  2 user01 user01  72 2006-10-17 21:44 d707
-rwx------  1 user01 user01   0 2006-10-17 17:43 f700
-rwx-----x  1 user01 user01   0 2006-10-17 17:43 f701
-rwx----w-  1 user01 user01   1 2006-10-17 22:06 f702
-rwx----wx  1 user01 user01   1 2006-10-17 22:06 f703
-rwx---r--  1 user01 user01   0 2006-10-17 17:43 f704
-rwx---r-x  1 user01 user01   0 2006-10-17 17:43 f705
-rwx---rw-  1 user01 user01   1 2006-10-17 22:06 f706
-rwx---rwx  1 user01 user01   1 2006-10-17 22:06 f707
vm-etch:/home/user01/perm#

/home/user01/perm/d* 以下

vm-etch:/home/user01/perm# ls -al d*
d700:
合計 0
drwx------  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707

d701:
合計 4
drwx-----x  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   1 2006-10-17 22:05 f707

d702:
合計 0
drwx----w-  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707

d703:
合計 4
drwx----wx  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   1 2006-10-17 22:05 f707

d704:
合計 0
drwx---r--  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707

d705:
合計 4
drwx---r-x  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   1 2006-10-17 22:05 f707

d706:
合計 0
drwx---rw-  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707

d707:
合計 4
drwx---rwx  2 user01 user01  72 2006-10-17 21:44 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   1 2006-10-17 22:05 f707
vm-etch:/home/user01/perm#

確認ログ

lsD

user02@vm-etch:/home/user01/perm$ ls -al d*
ls: d700: 許可がありません
ls: d701: 許可がありません
ls: d702: 許可がありません
ls: d703: 許可がありません
d704:
合計 0
?--------- ? ? ? ?                ? d704/.
?--------- ? ? ? ?                ? d704/..
?--------- ? ? ? ?                ? d704/f707

d705:
合計 0
drwx---r-x  2 user01 user01  72 2006-10-17 21:43 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707

d706:
合計 0
?--------- ? ? ? ?                ? d706/.
?--------- ? ? ? ?                ? d706/..
?--------- ? ? ? ?                ? d706/f707

d707:
合計 0
drwx---rwx  2 user01 user01  72 2006-10-17 21:44 .
drwxr-xr-x 10 user01 user01 432 2006-10-17 17:43 ..
-rwx---rwx  1 user01 user01   0 2006-10-17 17:43 f707
user02@vm-etch:/home/user01/perm$

lsDF

user02@vm-etch:/home/user01/perm$ ls -al ./d700/f707
ls: ./d700/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ ls -al ./d701/f707
-rwx---rwx 1 user01 user01 1 2006-10-17 22:05 ./d701/f707
user02@vm-etch:/home/user01/perm$ ls -al ./d702/f707
ls: ./d702/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ ls -al ./d703/f707
-rwx---rwx 1 user01 user01 1 2006-10-17 22:05 ./d703/f707
user02@vm-etch:/home/user01/perm$ ls -al ./d704/f707
ls: ./d704/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ ls -al ./d705/f707
-rwx---rwx 1 user01 user01 1 2006-10-17 22:05 ./d705/f707
user02@vm-etch:/home/user01/perm$ ls -al ./d706/f707
ls: ./d706/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ ls -al ./d707/f707
-rwx---rwx 1 user01 user01 1 2006-10-17 22:05 ./d707/f707
user02@vm-etch:/home/user01/perm$

catDF

user02@vm-etch:/home/user01/perm$ cat f700
cat: f700: 許可がありません
user02@vm-etch:/home/user01/perm$ cat f701
cat: f701: 許可がありません
user02@vm-etch:/home/user01/perm$ cat f702
cat: f702: 許可がありません
user02@vm-etch:/home/user01/perm$ cat f703
cat: f703: 許可がありません
user02@vm-etch:/home/user01/perm$ cat f704
user02@vm-etch:/home/user01/perm$ cat f705
user02@vm-etch:/home/user01/perm$ cat f706
user02@vm-etch:/home/user01/perm$ cat f707
user02@vm-etch:/home/user01/perm$

catF

user02@vm-etch:/home/user01/perm$ cat ./d700/f707
cat: ./d700/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ cat ./d701/f707
user02@vm-etch:/home/user01/perm$ cat ./d702/f707
cat: ./d702/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ cat ./d703/f707
user02@vm-etch:/home/user01/perm$ cat ./d704/f707
cat: ./d704/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ cat ./d705/f707
user02@vm-etch:/home/user01/perm$ cat ./d706/f707
cat: ./d706/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ cat ./d707/f707
user02@vm-etch:/home/user01/perm$

execF

user02@vm-etch:/home/user01/perm$ ./f700
-su: ./f700: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f701
su: ./f701: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f702
-su: ./f702: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f703
su: ./f703: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f704
-su: ./f704: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f705
user02@vm-etch:/home/user01/perm$ ./f706
-su: ./f706: 許可がありません
user02@vm-etch:/home/user01/perm$ ./f707
user02@vm-etch:/home/user01/perm$

touchDF

user02@vm-etch:/home/user01/perm$ touch ./d700/hoge
touch: cannot touch `./d700/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d701/hoge
touch: cannot touch `./d701/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d702/hoge
touch: cannot touch `./d702/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d703/hoge
user02@vm-etch:/home/user01/perm$ touch ./d704/hoge
touch: cannot touch `./d704/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d705/hoge
touch: cannot touch `./d705/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d706/hoge
touch: cannot touch `./d706/hoge': 許可がありません
user02@vm-etch:/home/user01/perm$ touch ./d707/hoge
user02@vm-etch:/home/user01/perm$

du-a

user02@vm-etch:/home/user01/perm$ du -a
du: `./d700': 許可がありません
du: `./d701': 許可がありません
du: `./d702': 許可がありません
du: `./d703': 許可がありません
du: `./d704': 許可がありません
0       ./d705/f707
0       ./d705
du: `./d706': 許可がありません
0       ./d707/f707
0       ./d707
0       ./f700
0       ./f701
0       ./f702
0       ./f703
0       ./f704
0       ./f705
0       ./f706
0       ./f707
0       .
user02@vm-etch:/home/user01/perm$

echo>>DF

user02@vm-etch:/home/user01/perm$ echo >> ./d700/f707
-su: ./d700/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./d701/f707
user02@vm-etch:/home/user01/perm$ echo >> ./d702/f707
-su: ./d702/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./d703/f707
user02@vm-etch:/home/user01/perm$ echo >> ./d704/f707
-su: ./d704/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./d705/f707
user02@vm-etch:/home/user01/perm$ echo >> ./d706/f707
-su: ./d706/f707: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./d707/f707
user02@vm-etch:/home/user01/perm$

echo>>F

user02@vm-etch:/home/user01/perm$ echo >> ./f700
-su: ./f700: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./f701
-su: ./f701: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./f702
user02@vm-etch:/home/user01/perm$ echo >> ./f703
user02@vm-etch:/home/user01/perm$ echo >> ./f704
-su: ./f704: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./f705
-su: ./f705: 許可がありません
user02@vm-etch:/home/user01/perm$ echo >> ./f706
user02@vm-etch:/home/user01/perm$ echo >> ./f707
user02@vm-etch:/home/user01/perm$

ユーザプライベートグループ(UPG)

UPG=User Private Group

ユーザ、グループ、およびユーザプライベートグループ:
http://www.jp.redhat.com/support/manuals/rhl-rg-ja-7.0/x580.html#S2-SYSADMIN-PRIV-GROUPS

最終更新時間:2006年10月18日 00時27分37秒