RHEL裡面執行ls指令時,可以看見第一個字母來判斷類型。
常見的類型有
d (目錄)
- (普通檔案)
c (裝置檔案 字元型)
b (裝置檔案,塊檔案)
l ( 軟連接配接,快捷方式)
例如,目錄和普通檔案
<a href="http://s3.51cto.com/wyfs02/M01/57/5C/wKioL1SY8ceR4ZVdAADMrkkhPa8939.jpg" target="_blank"></a>
裝置檔案
<a href="http://s3.51cto.com/wyfs02/M01/57/5E/wKiom1SY8R-AaZovAABJjBHTsqs564.jpg" target="_blank"></a>
軟連接配接
<a href="http://s3.51cto.com/wyfs02/M02/57/5C/wKioL1SY8cqj5ajDAABnAy4ooZI544.jpg" target="_blank"></a>
裝置檔案,塊檔案(硬碟)
<a href="http://s3.51cto.com/wyfs02/M02/57/5E/wKiom1SY8SPwQ0LBAABXm2TYFPo445.jpg" target="_blank"></a>
首先看看如何更改檔案的所有者 chown, -R表示遞歸的處理所有的子目錄和子檔案,-v表示輸出詳細的變化結果
<a href="http://s3.51cto.com/wyfs02/M02/57/5F/wKiom1SY_tyju1BoAACb5nCc26s598.jpg" target="_blank"></a>
更改檔案或者目錄的組
<a href="http://s3.51cto.com/wyfs02/M02/57/5F/wKiom1SY_p7gMMBxAAB7QQaN8NU896.jpg" target="_blank"></a>
具體的權限可以通過中間9位2進制數值來設定,分别代表u(所有者),g(組)和 o (其他人)的 r (讀)w(寫)x(執行)權利
可以用 rwxrwxrwx來表示對應擁有的權限,如果沒有權限,标記-
<a href="http://s3.51cto.com/wyfs02/M00/57/5F/wKiom1SY_qCwsmWOAABOi9CKToA768.jpg" target="_blank"></a>
簡單的例子,可以用u+或者g-來添加或删除權限
a=u+g+o
<a href="http://s3.51cto.com/wyfs02/M01/57/5D/wKioL1SY_0vhOpH-AADKBDEClkU746.jpg" target="_blank"></a>
值得注意的是對于目錄的權限設定,必須至少具有讀和執行的權限才能正常通路。如果隻具有X,那麼隻能cd 進去,但是無法ls内容。
例如,新建立的xx目錄,預設是755權限
<a href="http://s3.51cto.com/wyfs02/M01/57/5F/wKiom1SY_qOQEAK3AABOdHh-MGU170.jpg" target="_blank"></a>
去掉其他使用者的讀權限以後
<a href="http://s3.51cto.com/wyfs02/M02/57/5D/wKioL1SY_0-RNd4qAABjssCx_30393.jpg" target="_blank"></a>
beanxyz使用者可以cd該目錄,但是無法讀取内容
<a href="http://s3.51cto.com/wyfs02/M02/57/5F/wKiom1SY_qeTGMP2AABhcGRVnH4485.jpg" target="_blank"></a>
改回來就回複正常通路了
<a href="http://s3.51cto.com/wyfs02/M02/57/5F/wKiom1SY_qmQG0_RAABbJdhJbIY716.jpg" target="_blank"></a>
前面說了預設建立的檔案權限是644,目錄權限是755, 這是怎麼回事呢,這是通過umask過濾造成的。
檔案的預設權限本應該是666,而目錄是777,umask的預設值為0022,通過對應位的過濾,就變成了644和755.
1
2
3
4
<code>檔案 (666) 110 110 110</code>
<code>umask(222) 000 010 010</code>
<code>-----------------------------------------------</code>
<code> </code><code>110 100 100 (644)</code>
<code>目錄 (777) 111 111 111</code>
<code>umask (222) 000 010 010</code>
<code>------------------------------------------------</code>
<code> </code><code>111 101 101 (755)</code>
類似的給定一個需要的預設權限,如何倒推回去?
比如我需要建立的預設檔案和目錄權限都是444,那麼我的umask應該是多少?
如下所示,對于檔案而言,每個使用者的第三位本身就是沒有權限的,是以不論是否過濾,都是0,對于Umask而言,第三位的部分是0 是1都不影響結果; umask可以是333,323,222,223,232,332等等任意組合
對于目錄而言,結果是唯一,隻能是333;
綜上所述,umask的選擇應該是333
<code>檔案 (666) 110 110 110</code>
<code>umask(???) 011 011 011</code>
<code> </code><code>100 100 100 (444)</code>
<code>目錄 (777) 111 111 111</code>
<code>umask (???) 011 011 011 ( 333)</code>
<code> </code><code>100 100 100 (444)</code>
權限設定還有兩個特殊的屬性位, s位和t位;
s位位于二進制的可執行程式的U位的時候,簡稱SUID,這個時候其他人執行這個程式,具有和所有者相同的權限;
例如使用者可以通過passwd更改自己的密碼,而實際的密碼是儲存在/etc/shadow中的,使用者執行passwd的時候其實是通過所有者root的權限對shadow檔案進行了修改
<a href="http://s3.51cto.com/wyfs02/M00/57/60/wKiom1SZCEaSSWvzAACdFBgpxyw322.jpg" target="_blank"></a>
s位位于目錄的G位的時候,簡稱GUID,這個時候的作用是所有新建立的子目錄和檔案會自動的繼承這個組
例如建立一個testgroup組,加到test目錄上
<a href="http://s3.51cto.com/wyfs02/M00/57/5E/wKioL1SZCPLC_S9AAACnUUkYbIk152.jpg" target="_blank"></a>
然後修改g位
<a href="http://s3.51cto.com/wyfs02/M00/57/60/wKiom1SZCEryHaeeAABod9NMLtw006.jpg" target="_blank"></a>
建立新檔案和目錄
<a href="http://s3.51cto.com/wyfs02/M01/57/5E/wKioL1SZCPXSXk0iAABFjvRX26E297.jpg" target="_blank"></a>
檢視屬性
<a href="http://s3.51cto.com/wyfs02/M01/57/5E/wKioL1SZCPfC_UsJAABzAEqkWFk023.jpg" target="_blank"></a>
最後還有一個特殊的屬性位是t 位,他一般是位于目錄的o位置,鎖定檔案不可删除。隻有root和所有者可以删除。比如系統自帶的/tmp就是這樣
<a href="http://s3.51cto.com/wyfs02/M01/57/60/wKiom1SZCE_BgRPqAABOpQqRIw0952.jpg" target="_blank"></a>
簡單的記憶 SUID 4, SGID 2, SBIT 1
是以,如果将一個可執行檔案設定為 -rwsr-xr-x,可以标記為4755
最後看看隐藏的特殊屬性
chattr 可以設定一些特設性質,比如+a 隻能增加不可減少
<a href="http://s3.51cto.com/wyfs02/M00/57/60/wKiom1SZCyrSZ2u1AAEF4k3EoRI160.jpg" target="_blank"></a>
+i 不可對檔案進行任何修改
<a href="http://s3.51cto.com/wyfs02/M02/57/60/wKiom1SZC0rxOEgKAACfSTJK43M299.jpg" target="_blank"></a>
lsattr可以檢視特殊屬性
<a href="http://s3.51cto.com/wyfs02/M00/57/60/wKiom1SZC2yw0d9hAABLZAX28OE409.jpg" target="_blank"></a>
本文轉自 beanxyz 51CTO部落格,原文連結:http://blog.51cto.com/beanxyz/1593816,如需轉載請自行聯系原作者