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:usernamerwx file

這裏寫圖片描述

關閉用戶權限:

setfacl -b file

提示:當我們沒有開啓權限列表的時候,可以從下圖看出-rw-r–r–後面的是“.”,當我們設置權限列表後,它的後面就變成了“+”,當我們關閉權限列表後,它又變成了“.”,說明“.”代表是權限列表處於關閉狀態,“+”表示權限列表處於開啓狀態
這裏寫圖片描述
刪除權限列表指定用戶

setfacl -x u:username file

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章