首頁 >運維 >linux運維 >linux檔案權限中保存了什麼訊息

linux檔案權限中保存了什麼訊息

青灯夜游
青灯夜游原創
2022-07-15 19:30:204466瀏覽

linux檔案權限中保存了3種資訊:1、檔案擁有者的權限訊息,即擁有該檔案或目錄的使用者權限資訊;2、檔案擁有者所在群組的權限訊息,即擁有該文件或目錄的群組的權限資訊;3、其他使用者的權限資訊,即除了屬主和屬群組的其他人的權限資訊。

linux檔案權限中保存了什麼訊息

本教學操作環境:linux7.3系統、Dell G3電腦。

linux檔案權限中保存了檔案擁有者的權限、檔案擁有者所在群組的權限和其他使用者的權限資訊。 對應3 種存取身分(檔案擁有者,所屬群組,其他使用者)

linux裡一切皆文件

資料夾其實也是檔案

普通文件保存的是文字訊息,資料夾保存的是目前資料夾下檔案的目錄項目資訊

目錄項目:就是檔案名稱和檔案索引

linux檔案權限中保存了什麼訊息

訪問權限

  1、可讀取權限(read):允許檢視檔案或資料夾內容,顯示目錄清單

  2、可寫入權限(write):允許修改檔​​案內容,允許在目錄中新建、移動、刪除檔案或子目錄

  3、可執行權限(execute):允許允許程序,切換目錄

歸屬(所有權)

   1、文件擁有者(owner):擁有該檔案或目錄的使用者帳號--》屬主--user--》u

   2、屬群組(group):擁有該檔案或目錄的群組帳號 -- 》組織社團--group--》g

   3、其他人(其他):除了屬主和屬組的其他人--》外人--others--》o

用案例來解釋檔案的權限

# ls -al up.txt 
-rw-r--r--. 1 root root 126 4月   9 16:59 up.txt

1、空白分割第一列就是設定的權限第三列是屬主第四列是屬組

    1.1、第一列一般十个字符组成
                第一个字符表示文件类型
                        f  为文件
                        d  为文件夹
                        l  为链接文件
                        b  为块设备文件(block)        --》磁盘设备文件
                        c  为字符设备文件       --》显示字符相关
                        p  为管道文件    
                        s  为socket文件  --》进程通信的
                                1.文件socket
                                        本机上的不同进程之间通信的方式
                                2.网络socket 
                                        ip:port 不同的机器之间的不同的进程通信,192.168.0.123:3

2、檔案描述子fd

文件描述符:linux核心為每個行程建立了一個文件描述符表,這個表裡記載了這個行程所開啟的所有文件,為了方便行程知道自己開啟了哪些文件,就給每個檔案進行了編號,這個編號就是檔案描述符。而且行程對檔案進行讀寫操作的時候,就直接使用對應的編號了,不再使用檔名了

#Linux ACL存取控制權限

Linux 系統傳統的權限控制方式,無非是利用3 種身分(檔案擁有者,所屬群組,其他使用者),並分別搭配3 種權限(讀r,寫w,存取x)。例如,我們可以透過ls -l 指令查看目前目錄中所有檔案的詳細信息,其中就包含對各檔案的權限設定:

# ls -l

total 36
drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Desktop
drwxr-xr-x. 2 root root 4096 Apr 15 16:33 Documents
...
-rwxr-xr-x. 2 root root 4096 Apr 15 16:33 post-install
...

以上輸出訊息中,「rwxr-xr-x」就指明了不同使用者存取檔案的權限,即檔案擁有者擁有對檔案的讀取、寫入、存取權限(rwx),檔案所屬群組擁有對檔案的讀取、存取權限(r-x),其他使用者擁有對檔案的讀取、存取權限(r-x)。

權限前的字符,表示文件的特定類型,例如 d 表示目錄,- 表示普通文件,l 表示連接文件,b 表示設備文件,等等。

但在實際應用中,以上這 3 種身分根本不夠用,給大家舉個例子。

linux檔案權限中保存了什麼訊息

上圖的根目錄中有一個 /project 目錄,這是班級的專案目錄。班級中的每個學員都可以存取和修改這個目錄,老師需要擁有該目錄的最高權限,其他班級的學員當然不能存取這個目錄。

需要怎麼規劃這個目錄的權限呢?應該是這樣,老師使用root 用戶,作為這個目錄的屬主,權限為rwx;班級所有的學員都加入tgroup 組,使tgroup 群組作為/project 目錄的屬組,權限是rwx;其他人的權限設定為0(也就是---)。這樣一來,存取此目錄的權限就符合我們的要求了。

有一天,班上來了一位試聽的學員st,她必須能夠訪問/project 目錄,所以必須對這個目錄擁有r 和x 權限;但是她又沒有學習過以前的課程,所以不能給她w 權限,怕她改錯了目錄中的內容,所以學員st 的權限就是r-x。可是如何分配她的身分呢?變成屬主?當然不行,要不 root 該放哪裡?加入 tgroup 群組?也不行,因為 tgroup 群組的權限是 rwx,而我們要求學員 st 的權限是 r-x。如果把其他人的權限改為 r-x 呢?這樣一來,其他班級的所有學員都可以存取 /project 目錄了。

顯然,普通權限的三種身分都不夠用了,無法實現對某個單獨的使用者設定存取權限,在這種情況下,就需要使用 ACL 存取控制權限。

ACL,是 Access Control List(存取控制清單)的縮寫,在 Linux 系統中, ACL 可實現對單一使用者設定存取檔案的權限。也可以這麼說,設定檔案的存取權限,除了用傳統方式(3 種身分搭配 3 種權限),還可以使用 ACL 來設定。拿本例中的 st 學員來說,既然賦予它傳統的 3 種身份,無法解決問題,就可以考慮使用 ACL 權限控制的方式,直接對 st 使用者設定存取檔案的 r-x 權限。

相關推薦:《Linux影片教學

以上是linux檔案權限中保存了什麼訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:linux pic是什麼下一篇:linux pic是什麼