文件與目錄的權限操作
在Linux系統中,每一個文件和目錄都有相應的訪問許可權限,我們可以用它來確定誰可以通過何種方式對文件和目錄進行訪問和操作。文件或目錄的訪問權限分為可讀、可寫和可執行三種,分別以r,w,x表示,其含義為:
r w x
文件 可讀 可寫 可執行
目錄 可列出目錄 可在目錄中做寫操作 可以訪問該目錄
在文件被創建時,文件所有者可以對該文件的權限進行設置。
對於一個文件來說,可以將用戶分成三種,並對其分別賦予不同的權限:
1) 文件所有者
2) 與文件所有者同組用戶
3) 其它用戶
每一個文件或目錄的訪問權限都有三組,每組用三位表示,如:
d rwx r-x r--
第一部分:這裡的d代表目錄,其它的有:- 代表普通文件 c 代表字符設備文件;
第二部分:文件所有者的權限字,這裡為r w x表示可讀、可寫、可執行 (目錄的可執行指的可以進入目錄);
第三部分:與文件所有者同組的用戶的權限字,這裡為r - x表示可讀、不可寫、可執行。由於同組用戶之間交流較多,讓他看看文件,別亂改就行了嘛。
第四部分:其它用戶的權限字,這裡為- - -,當然給我無關的人嘛,我的文件當然不但不給你寫,也不讓你讀。
1) 文件/目錄權限設置命令:chmod
這是Linux系統管理員最常用到的命令之一,它用於改變文件或目錄的訪問權限。該命令有兩種用法:
Ø 用包含字母和操作符表達式的文字設定法
其語法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對象,是以下字母中的一個或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個權限
-:取消某個權限
=:賦予給定的權限,並取消原有的權限
而mode則代表權限:
r:可讀
w:可寫
x:可執行
例如:為同組用戶增加對文件a.txt的讀寫權限:
chmod g+rw a.txt
Ø 用數字設定法
而數字設定法則更為簡單:chmod [mode] 文件名
關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x
r--則可以表示成為:
111 101 100
再將其每三位轉換成為一個十進制數,就是754。
例如,我們想讓a.txt這個文件的權限為:
自己 同組用戶 其他用戶
可讀 是 是 是
可寫 是 是
可執行
那麼,我們先根據上表得到權限串為:rw-rw-r--,那麼轉換成二進制數就是110 110
100,再每三位轉換成為一個十進制數,就得到664,因此我們執行命令:
chmod 664 a.txt
2) 改變文件的屬主命令:chown
語法格式很簡單:chown [選項] 用戶名 文件/目錄名
其中最常用的選項是“R”,加上這個參數,可以將整個目錄裡的所有子目錄和文件的屬主都改變成指定用戶。
3) 改變文件屬組命令:chgrp
該命令也很簡單:chgrp 組名 文件名