linux之檔案及目錄許可權的相關操作
1.檔案許可權控制
首先我們先搞清一個問題:許可權存在的意義?
在我們的印象中檔案是用來存放實際資料的,目錄是用來存放檔案的,但其實目錄的主要作用是用來記錄檔名列表,檔名與目錄有強烈的關聯。許可權就是使用者或者其他人對這些目錄以及檔案能進行些什麼操作。
檔案的檢視
當我們建立一個文件或者檔案,然後先去識別一下它們的許可權:
對檔案的識別:ls -l file
對目錄的識別:ls -ld dir
由上圖可以檢視新建立的檔案和目錄的許可權,許可權就相當於r、w、x,接下來我們再看看許可權分別對檔案的重要性和對目錄的重要性。
1.對檔案的檢視許可權
首先舉例一個許可權:
- rw-rw-r-- 1 kiosk kiosk 0 Aug 15 17:29 file
我們可以將它分為8段:
1)第一段:”-“
分類 | 檔案型別 |
---|---|
- | 代表的是普通檔案 |
d | 代表的是目錄 |
l | 軟連結:就是快捷方式 |
s | socket |
c | 字元裝置:就是將字元顯示到螢幕上的裝置 |
2)第二段:”rw-rw-r- -“
字元 | 作用 |
---|---|
r(Read:讀取) | 讀取檔案內容的許可權 |
w(Write:寫入) | 修改檔案內容的許可權 |
X(eXecute:執行) | 執行檔案的許可權 |
u(user) | 使用者 |
g(group) | 組 |
o(other) | 其他 |
3)第三段:”1”
“1”:檔案硬連結個數:就是檔案那內容被系統記錄的次數
4)第四段:“kiosk”
“kiosk”:檔案擁有者
5)第五段:“kiosk”
“kiosk”:檔案擁有組
6)第六段:“0”
“0”:代表的是檔案大小
7)第七段:“Aug 15 17:29”
“Aug 15 17:29”:最後一次修改的時間
8)第八段:“file”
“file”:檔名稱
2.對目錄檢視的許可權
例如:
d rwxr-xr-x 144 root root 12288 Aug 15 18:47 etc
這裡依舊分為八段:
字元 | 解釋 |
---|---|
d | 型別 |
rwxr-xr-x | 許可權 |
144 | 目錄中子目錄的個數 |
root | 使用者 |
root | 組 |
12288 | 子檔案或子目錄的元資料大小(元資料:就相當於檔案的屬性) |
Aug 15 18:47 | 最後一次被修改的時間 |
etc | 目錄名稱 |
當檢視目錄許可權的時候
字元 | 作用 |
---|---|
r | 表示讀取目錄結構列表的許可權,就是當你檢視一個目錄的許可權的時候,你可以去檢視該目錄下的檔名資料 |
w | 表示具有移動該目錄結構列表的許可權,就是可以建立新的檔案目錄或刪除對該目錄下的檔名可以操作 |
x | 記錄檔名 |
3.修改檔案的使用者和使用者組
提示:該操作需要用root使用者去執行
指令 | 作用 |
---|---|
chown username file/dir | 修改檔案或目錄的所有者 |
chown -R username dir(這裡-R的意思是遞迴修改) | 修改目錄以及目錄內所有檔案及目錄的所有者 |
chown username:group file\dir | 同時修改組和所有者 |
chgrp username file/dir | 修改檔案或目錄的組 |
chgrp -R username dir | 修改目錄內所有檔案及目錄的組 |
- 修改檔案或者目錄的所有者:
chown usernamefile/dir
可以從下圖看出檔案的所有者被修改成student
- 修改目錄的所有者(包括目錄本身以及該目錄中的檔案及目錄):
chown -R username dir
- 同時修改所屬組和所有者:
chown username:group file/dir
提示:當你想同時修改組以及所有者時,首先應該先知道有哪些組
顯示所有的組:cat /etc/group
提示:當你想修改一個目錄以及該目錄下的檔案及子目錄時,除了“chown -R username:group file/dir”這個方法外,還可以在目錄後面加上”/*”,表示目錄下的所有內容,不加的話,就只會修改該目錄本身
- 修改檔案或目錄的組
chgrp username file/dir
- 修改目錄中所有檔案以及目錄的組
提示:不論是組還是使用者都必須是已經存在的,否則無法修改
2.許可權的管理
1)字元形式
chmod <u/g/o> <+/-/=> <r/w/x> file/dir
如下圖所示:這裡的意思是當你先獲取file檔案的許可權後,根據字元形式可以修改檔案file的許可權,下圖的u代表的就是“rw-“,u+x之後許可權就變成了rwx,對於“-”“=”的運算也類似
2)數字形式
r(2) w(1) x(0)
可以這樣理解:x等於2的0次方乘以0或者1=0或者1
x=2^0*0|1=0|1
w=2^1*0|1=0|2
x=2^2*0|1=0|4
由此可以得出一些值:
rwx=7
rw-=6
r-x=5
r--=4
-wx=3
-w-=2
--x=1
如下圖所示,可以進行對比,我們可以直接根據數字去修改檔案或者目錄的許可權
3.許可權列表
特定使用者對特定檔案有指定許可權
rwxr-xr-x+許可權位最後一位+的意思是該檔案的許可權列表被開啟
getfacl file:檢視檔案的許可權列表
例如:
[kiosk@foundation8 Desktop]$getfacl file
file:file 檔名
owner:kiosk 檔案所有人
group:kiosk 檔案所有組
user:rw- 使用者許可權
user:leo:rwx 特殊指定使用者許可權
group::rw- 組許可權
mask::rwk 許可權最大值
other::r-- 其他人許可權
設定列表使用者許可權:
setfacl -m u:username:rwx file
關閉使用者許可權:
setfacl -b file
提示:當我們沒有開啟許可權列表的時候,可以從下圖看出-rw-r–r–後面的是“.”,當我們設定許可權列表後,它的後面就變成了“+”,當我們關閉許可權列表後,它又變成了“.”,說明“.”代表是許可權列表處於關閉狀態,“+”表示許可權列表處於開啟狀態
刪除許可權列表指定使用者
setfacl -x u:username file