<概述>
LINUX文件權限針對的對象分三類(互斥的關系):
1. user(文件的擁有者)
2. group(文件擁有者所在的組,但不包括user)
3. other(其它用戶,即user和group以外的)
LINUX用一個3位二進制數對應著文件的3種權限(1表示有該權限,0表示無):
第1位?? ?讀?? ???? r?? ?100?? ?4
第2位?? ?寫?? ??? w?? ?010?? ?2
第3位?? ?執行?? ?x?? ?001?? ?1
<CMD>查看權限#ls -l第一列,一共10位(drwxrwxrwx),就代表了文件的權限:
1)第一個d代表是一個目錄,如果顯示“-”,則說明不是一個目錄
2)2-4代表user的權限
3)5-7代表group的權限
4)8-10代表other的權限
對于后9位:
r 代表可讀(read),其值是4
w 代表可寫(write),其值是2
x 代表可執行(execute),其值是1
- 代表沒有相應權限,其值是0修改文件權限# chmod [ugoa][+-=][rwx] 文件名1)用戶
u 代表user
g 代表group
o 代表other
a 代表全部的人,也就是包括u,g和o
2)行動
+ 表示添加權限
- 表示刪除權限
= 表示使之成為唯一的權限
3)權限
rwx也可以用數字表示法,不過很麻煩要自己算,比如 rw=6<常見權限>
-rw------- (600) 只有所有者才有讀和寫的權限
-rw-r--r-- (644) 只有所有者才有讀和寫的權限,組群和其他人只有讀的權限
-rwx------ (700) 只有所有者才有讀,寫,執行的權限
-rwxr-xr-x (755) 只有所有者才有讀,寫,執行的權限,組群和其他人只有讀和執行的權限
-rwx--x--x (711) 只有所有者才有讀,寫,執行的權限,組群和其他人只有執行的權限
-rw-rw-rw- (666) 每個人都有讀寫的權限
-rwxrwxrwx (777) 每個人都有讀寫和執行的權限,最大權限
<trick>
如果只擁有一個文件的r權限,也是可以執行它的,只需在最前面加個點加個空格,e.g.:
#.?/etc/bashrc
通過 # man . 可以找到官方的解釋:
. filename [arguments]
Read? and? execute? commands from filename in the current shell environment and return the exit status of the last command executed? from? filename.
其實這也合理:我可以r,就可以把內容copy出來,就可以自己造一個文件來實現同樣的功能。
<解讀 ls -l 命令>
drwxr-xr-x?? 2 root oinstall 4096 Jun? 6 19:02 oracle
drwxrwxr-x? 20 root sinstall 4096 Apr 22 14:03 sybase
一個文件(夾),有兩個owner
1. user
2. group
創建一個文件時,它默認屬于創建它的user,以及這個user所在的group。
但這兩個owner其實是相互獨立的(它們的權限也是相互獨立的):一個文件可以屬于user a,并指定它屬于非a所在的組B。自然的,組B的成員b也就享有了這個文件。
(安裝oracle時的用戶設置就是很好的例子)
# chown user_a file_test
# chown :group_B file_test
posted on 2008-03-25 17:25
Jcat 閱讀(379)
評論(0) 編輯 收藏 所屬分類:
Linux