目錄
?權限 = 用戶(角色)+ 文件權限屬性
文件的權限屬性:
有無權限的區別:
身份匹配:?
擁有者、所屬組的修改:?
八進制的轉化:?
文件的類型:
x可執行權限為什么不能執行??
目錄權限:?
umask 過濾:
-
以下指令均在Xshell 7 中進行?
?權限 = 用戶(角色)+ 文件權限屬性
上一篇:初識Linux:權限(1)-CSDN博客?
文件的權限屬性:
一個文件可以擁有三個權限:
- 是否具有可以讀的權限
- 是否具有可以寫的權限
- 是否具有可以執行的權限
這三種權限分別對應字符 r 、w、x??,當具有可讀權限的時候會顯示字符r,當具有可寫權限時會顯示字符w,當具有可執行權限時會顯示x。
- 而如上圖所示,其中的 - rw - rw- r-- 除去最前面的-表示為文件的類型是普通文件外,其余的九個字符三個三個為一組分為三組,這三組分別對應著擁有者,所屬組,other。
其可以表示為擁有者有著對本文件的權限,所屬組對本文件的權限,other對本文件的權限。
又而最后的表示為,擁有者對文件的權限是可以讀、可以寫、不可以執行,所屬組對文件的權限是可以讀、可以寫、不可以執行,other對文件的權限是可以讀、不可寫、不可以執行。?
這些權限可以認定為 文件對不同的用戶 而開放的不同權限。?
當然這些權限是可以修改的,使用chmod進行對應角色的權限修改:?
刪去 擁有者 的 可讀權限?
添加 擁有者 的可讀權限和可寫權限?
刪去 所屬組 的 可寫權限?
刪去 other 的 可讀權限?
修改 多個 用戶的權限?
同時添加 擁有者 所屬組 other 的可讀權限?
有無權限的區別:
對于普通用戶:沒有 r 權限 就不能查看文件的內容,沒有w權限就不能再文件中寫入內容。?
這是普通文件給予自己的一種束縛,即便文件的創始者是自己,但是對于超級用戶root而言可以無視這些束縛。??
身份匹配:?
當文件的擁有者和所屬組是同一個時,這就會產生一共疑問,我是擁有者,但擁有者沒有這些權限,但我也是所屬組,所屬組有這些權限,但為什么還是不能使用這些權限呢??
答:
- 這涉及到linux的身份識別問題,linux對用戶的身份識別只識別一次,?也就說第一個身份識別失敗后會開始識別第二次,當識別成功后就不會往后繼續識別身份。
- 例如匹配完擁有者成功后,就不繼續匹配是否是所屬組了,當識別不是擁有者不是所屬組之后就認定為other?
擁有者、所屬組的修改:?
- chown 用戶名 文件? ?修改文件的擁有者
- ?chgrp 用戶名?文件? ? 修改文件的所屬組
- chown 用戶名1:用戶名2 文件? ?修改文件的擁有者和所屬組
修改擁有者?
同時修改擁有者和所屬組?
八進制的轉化:?
三個三個一組的讀、寫、可執行字符可以因為是否存在權限 而轉化為數字,如果存在權限則為1沒有權限則為0。
如圖所示,可以通過權限的存在與否轉化為一串二進制代碼 110 110 100 而二進制數位又可以因為三個一組 轉化為八進制數位? 6 6 4
所以,修改文件的擁有者、所屬組、other 的權限 也可以這樣寫:
?0 0 0 是八進制數位,可以表示擁有者 、所屬組、other 沒有任何的權限。
7 7 7 則是表示擁有者、所屬組、other 同時有著 r、w、x三個權限。?
文件的類型:
?Linux內部的文件,它的類型并不是看文件的后綴名,而是查看文件信息的最前端的字符,如果是字符 - 則表示這是一個普通文件,如果是字符 d 則表示的是目錄文件。
?當然,linux內部的文件是不看文件的后綴,但是linux的工具卻需要認定Linux文件的后綴,才能夠根據文件的類型進行執行相應的進程
x可執行權限為什么不能執行??
當然,linux文件的后綴不論是什么,只要這個文件本身是能夠可以執行的文件 ,才可以執行,即便這個文件的擁有者、所屬組、甚至是other 都具有可以執行文件的權限,但文件本身不能執行,那么這個權限也毫無用處。
目錄權限:?
目錄本身也是一個文件,所以它也有著擁有者、所屬組、other ,而擁有者、所屬組、other也有著對目錄的權限。
對于目錄而言,r權限是查看目錄內部的文件,用戶失去了r則看不了目錄內部的文件。
而 w權限是再目錄內部進行文件的刪除、修改、建立,失去了w權限就不能再目錄內部建立文件和刪除文件。
而 x 權限則是進入目錄的一個必要條件,如果用戶沒有對目錄的x權限,則當前用戶是進入不了目錄內部的。
umask 過濾:
?