linux檔案權限中保存了3種資訊:1、檔案擁有者的權限訊息,即擁有該檔案或目錄的使用者權限資訊;2、檔案擁有者所在群組的權限訊息,即擁有該文件或目錄的群組的權限資訊;3、其他使用者的權限資訊,即除了屬主和屬群組的其他人的權限資訊。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux檔案權限中保存了檔案擁有者的權限、檔案擁有者所在群組的權限和其他使用者的權限資訊。 對應3 種存取身分(檔案擁有者,所屬群組,其他使用者)
資料夾其實也是檔案
普通文件保存的是文字訊息,資料夾保存的是目前資料夾下檔案的目錄項目資訊
目錄項目:就是檔案名稱和檔案索引
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、第一列一般十个字符组成 第一个字符表示文件类型 f 为文件 d 为文件夹 l 为链接文件 b 为块设备文件(block) --》磁盘设备文件 c 为字符设备文件 --》显示字符相关 p 为管道文件 s 为socket文件 --》进程通信的 1.文件socket 本机上的不同进程之间通信的方式 2.网络socket ip:port 不同的机器之间的不同的进程通信,192.168.0.123:3
文件描述符:linux核心為每個行程建立了一個文件描述符表,這個表裡記載了這個行程所開啟的所有文件,為了方便行程知道自己開啟了哪些文件,就給每個檔案進行了編號,這個編號就是檔案描述符。而且行程對檔案進行讀寫操作的時候,就直接使用對應的編號了,不再使用檔名了
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 種身分根本不夠用,給大家舉個例子。
上圖的根目錄中有一個 /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中文網其他相關文章!