眾所周知,Linux是一個多用戶、多任務環境。而為了讓每個用戶具有較保密的文件數據,文件的權限管理就變得很重要了。Linux將文件可讀寫訪問身份分為3個類別:分別說Owner、Group、Others,且3種身份分別具有Read、Write、Execute等權限。
3種身份類別概念:
1.文件所有者(Owner):
假如你有一份文檔,上面存放着你的個人詳細信息,你不希望除了你之外都任何人可以查看這個文件的內容,那么你就可以將該文件設置成只有文件所有者才可以進行查看與修改。這樣,即使他人對你這個文件“很有興趣”,由於你設置了適當都權限,所以其他人自然也就無法查看了。
2.用戶組(Group):
假如主機上現在有兩個開發團隊,第一個團隊名為PA,第二個團隊名為PB。每組的成員之間必須能夠互相修改對方都數據,但是其他組的成員無法訪問本組的文件內容。此時用戶組就能派上用場啦,可以將文件權限設置為用戶組就能防止其他組成員查看本組都文件里,如果這時老板想要查看,則將老板都的帳號同時支持PA和PB這兩個用戶組即可。每個帳號都可以有多個用戶組的支持。
3.其他人(Others):
假如小王在訪問文件A時,A文件並不是小王創建的,而且小王也不在可以訪問A文件的用戶組里,這時小王對於文件A來說,就屬於一個其他人。
關於ROOT:ROOT在Linux中屬於最高權限,無視所有權限設置,所以它可以訪問、修改和執行所有文件。
Linux文件屬性:
切換到 / 目錄,執行ll,結果如下所示(這里以Ubuntu系統為例):
$ ll
## 結果如下:
總用量 108
drwxr-xr-x 24 root root 4096 7月 12 14:34 ./
drwxr-xr-x 24 root root 4096 7月 12 14:34 ../
drwxrwxrwx 2 root root 4096 6月 28 14:35 bin/
drwxr-xr-x 3 root root 4096 6月 28 14:35 boot/
drwxr-xr-x 2 root root 4096 6月 28 14:32 cdrom/
drwxr-xr-x 17 root root 4140 7月 12 15:39 dev/
drwxr-xr-x 2 root root 4096 7月 12 14:44 doc/
drwxr-xr-x 134 root root 12288 7月 12 13:19 etc/
drwxr-xr-x 3 root root 4096 6月 28 14:32 home/
…...
…...
下面以 bin/ 這個目錄來進行說明:
drwxrwxrwx 2 root root 4096 6月 28 14:35 bin/
第一個字母代表的意義:
d:表示 bin/ 為目錄;
-: 表示 bin/ 為文件;
l: 表示 bin/ 為連接文件(類似Windows中都快捷方式);
b:表示 bin/ 為設備文件里面的可供存儲的接口設備;
c:表示 bin/ 為設備文件里面都串行串行端口設備,例如鍵盤、鼠標;
9個字符代表了該文件/目錄對於3種身份各自的權限:
前面3個:文件所有者的權限;
中間3個:同一用戶組的權限;
最后3個:其他人的權限;
由9個字符可知: bin/ 目錄默認都權限為:
文件所有者 | 同一用戶組 | 其他人 都可以對該目錄進行 讀 | 寫 | 執行的操作。
第二列表示有多少文件名連接到此節點。
第三列表示這個文件/目錄的所有者帳號,由結果可知 bin/ 所有者為root。
第四列表示這個文件/目錄都所屬用戶組,由結果可知 bin/ 用戶組也是 root。
第五列表示這個文件的容量大小,默認單位為B。
第六列表示這個文件/目錄都創建日期或者是最近修改日期。
PS:第六列的內容分別為日期(月/日)和時間。如果這個文件被修改的時間距離現在太久了,那么時間部分僅會顯示年份而已。
第七列表示文件名稱。
PS:如果文件名稱前面多一個 . ,則表示這個文件為隱藏文件。
如何改變文件屬性與權限?
##chgrp:改變文件所屬用戶組。
chgrp -[R] groupname dirname / filename
##chown:改變文件所有者。
chown [-R] username dirname / filename
##chmod:改變文件的權限。
chmod 777 filename
設置權限的方法有兩種:數字和符號,這里說一下數字設置。上面談到Linux中權限分為9個,分別是 Owner、Group、Others 三種身份分別對應各自的 Read、Write、Execute 權限,對照表如下:
Read : r : 4
Write : w : 2
Execute : x : 1
假設我們現在要將文件 test.txt 的屬性設置為文件所有者擁有全部權限,文件用戶組擁有讀寫權限,其他人擁有讀取權限,那么最終的權限數字計算公式如下:
文件所有者全部權限:4 + 2 + 1 = 7; 文件用戶組讀寫權限:4 + 2 = 6; 其他人只有讀取權限:4;
所以,最終的權限數字為:764,每種權限屬性對應的數字要牢記心中。
Linux文件種類與擴展名
- 文件種類:
- 普通文件
- 純文本文件
- 二進制文件
- 數據格式文件
- 目錄
- 連接文件
- 設備與設備文件
- 塊設備文件
- 字符設備文件
- 套接字
- 管道
- 常用文件擴展名
- *.sh : 腳本或批處理文件
- *.z *.tar *.tar.gz *.zip *z.tgz : 經過打包都壓縮文件
- *.html *.php : 網頁相關文件
- 文件長度限制
- 單一文件或目錄都最大長度為255個字符
- 包含完整路徑及目錄名稱都文件最大長度為4096個字符
文章內容參考書籍:《鳥哥的linux私房菜》