Linux默認權限的計算公式(我的理解性的筆記~)

先記下Linux下的權限能夠分爲html

常見的linux

  r(Read,讀取):對文件,讀取文件內容的權限;目錄來講,具備瀏覽目 錄的權限。權限值=4測試

  w(Write,寫入):對文件而言,具備新增、修改文件內容的權限;對目錄來講,具備刪除、移動目錄內文件的權限。權限值=2ui

  x(eXecute,執行):對文件而言,具備執行文件的權限;對目錄了來講該用戶具備進入目錄的權限。權限值=1spa

特殊的.net

  s,t,i,aunix

Linux是經過9個權限位來控制文件,目錄權限的、分別是 全部者3位,所屬分組3位,其它(用戶組,用戶)3位、htm

文件默認權限基準值 rw- rw-  rw- ,全部者=讀|寫,所屬分組=讀寫,其餘(其餘用戶,用戶組)=讀寫、blog

目錄默認權限基準值 rwx rwx rwx ,全部者=讀|刪除子目錄或文件|進入,所屬分組=讀|刪除子目錄或文件|進入,其餘(其餘用戶,用戶組)=讀|刪除子目錄或文件|進入、get

 

在建立文件,目錄的時候,linux會經過上面的權限減去系統權限「補碼」umask,用 umask命令能夠查看到具體

過 umask 查看,好比:0002;,umask -S能夠查看own,group,others須要減去的具體權限是什麼,好比:u=rwx,g=rwx,o=rx)

 

權限值計算,有教科書上講。按二進制 AND 和 NOT來計算,我的感受能理解,但不是最能理解的方式。

甚至有些BBS論壇用 666 - umask 來算 注意:這個個是錯誤滴....

      舉個栗子,假如umask=003,按照這種計算方式。

  文件權限 = 666 - 003 = 663 = rw- rw- -wx,明明文件默認的other都沒有可執行權限x嘛。這兒還給算出來了個x執行權限。因此,這是絕對錯誤。切記咯、

 

公式:令r,w,x 等於 一、符號「-」等於0,文件/目錄權限基準值與umask轉換爲 0,1 這種格式,將文件/目錄權限基準值按位對應相減 umask,若位的相減少於等於0,表示此位無權限,等於1表示此有對權限。

 

經過上面的公式,咱們能夠先獲得(下面稱爲文件轉換值,目錄轉換值)

文件的權限基準值(rw-  rw-  rw- ) 轉換爲 110 110 110,對照圖以下


目錄的權限基準值(rwx rwx  rwx) 轉換爲 111 111 111,對照圖以下

注意:權限位是按 owner,group,others 的 rwx ,rwx,rwx 這個順序來的,不能變哦~

也就是說的,是按照 全部者的r,w,x;所屬分組的r,w,x;其餘組/用戶的r,w,x這個順序來的~

 

舉個栗子

問題:某用戶umask = 002;請問,該用戶建立的文件/目錄的默認權限分別是什麼?

 

解答:

首先,將 umask = ---  ---  -w-,按照公式轉換爲 000  000  010

 

那麼文件的默認權限值公式2,按位相減,計算以下步驟以下。

 

文件的默認權限值 = 文件默認權限基準值 (rw- rw-  rw-) 減去 UMASK權限位值 文件轉換值 減去 UMASK轉換值

= rw-  rw- rw- 減 ---  ---  -w-

= 110 110 110 - 000 000 010

轉換下

      110   110   110

  — 000   000   010

-------------------------------------------------------

=   110   110   100 —> 轉爲權限位就是 rw- rw- r--

 

目錄的默認權限值 = 目錄默認權限基準值 (rwx rwx  rwx) 減去 UMASK權限位值 = 目錄轉換值 減去 UMASK轉換值

= rwx  rwx rwx 減 ---  ---  -w-

= 111 111 111  - 000 000 010 

轉換下 

      111   111   111

  — 000   000   010

-------------------------------------------------------

=   111   111   101 —> 轉爲權限位就是 rwx rwx r-x

其實上面的公式有點點繞了。總結爲一句話就是:「設rwx爲1,-爲0,按位xor,對應位值等於0,此位對應無權限,等於1,有權限;或按位相減,對應位值小於,等於0,此位對應無權限,等於1,有權限

 

Okay,下面咱們來測試下結果~

 

資料參考:

鳥哥的Linux私房菜(基礎篇,第三版:182頁~)

Linux中的幾種權限:http://blog.chinaunix.net/uid-16728139-id-3315846.html

相關文章
相關標籤/搜索