Linux做最突出的地方之一是它的多用戶、多任務環境。這一點的最重要的出發點就是安全機制。先看下例:
場景:公司里有兩個項目組:小組A和小組B。為了保密起見,小組內的進度、文檔、程序都有小組內公開。比如小組A中,小組內的成員可以相互查看彼此的文件,但是小組內成 員都有自己的抽屜,里面有自己的隱私文件,不允許是看不了的(抽屜鎖着)。小組B里的人相對於小組A來說是其他人。如果沒進過小組成員的同意,是看不到A、B或C的資料的。這里邊有個執掌大權的boss,他擁有無所不能的權利(包括查看用戶的抽屜)。
這就是Linux用戶及用戶組的現實寫照。
用戶:A、B、C、甲、乙都是用戶,就是主體
用戶組:有一個或多個用戶組成的
其他人:小組B內的成員甲、乙相對於A組的成員就是其他人;反之亦是。
查看下文件的屬性(7個):ls -al
1 2 3 4 5 6 7
權限 連接 擁有者 用戶組 文件大小 文件最近修改時間 文件名
重點看下屬性1:
文件類型:-,文件 d,目錄 l,鏈接文件 b,塊設備文件(硬盤) c,字符設備文件(鍵盤)
示例:drwxr-xr-x:文件名為目錄(d),該目錄擁有者具有讀寫執行權限,該組的其他成員具有讀和執行的權限,其他用戶具有讀和執行權限
更改文件屬性:
- 更改文件所屬用戶組:chgrp [-R] 組名 文件名——-R(針對目錄)是遞歸的把目錄下的文件、目錄全部改變為目標權限。change group
- 更改文件所屬擁有者:chown 擁有者 文件名——change owner
- 更改屬性(后9個):chmod 屬性 文件名
注意:參數 -R 遞歸的改變目錄下的所有文件
例如:
- 改變文件文件hello的所屬組為hel: chgrp hel hello
- 改變文件hello的擁有者為user1: chown hello user1
- 改變文件hello的屬性為擁有者"可讀可寫可執行”,組內其他成員為“可讀可寫”,其他人為“可讀”:chmod rwxrwxrw-r-- helo
(3中)此時的權限也可以用數字表示。具體為:
- r:4
- w:2
- x:1
這樣上面(4+2+1 4+2 4)也可以這樣表示:chmod 764 helo
可讀可寫可執行對於文件來說沒有什么疑義,但是針對目錄來說就有很大的不同。
目錄屬性的意義:
r——(read the contens of the directory)表示可以讀取目錄結構清單的權限
w——(modify the contents of the directory)表示可以改變目錄清單的權限,包括
- 建立新的文件&目錄
- 刪除已存在的文件&目錄
- 將已存在的文件&目錄改名
- 移動目錄內文件&目錄的位置
x——(access the directory)表示可以進入該目錄的權利,如果沒有此權限,即使有“可讀可寫”的權利也白費,因為連進都進不去,何談讀與改寫。
示例: