1. 程式人生 > >Linux 文件與目錄的權限

Linux 文件與目錄的權限

inux sgi 出現 其他人 支持 命令 數字 group 執行過程

文件默認權限:umask

  umask就是指定“目前用戶在新建文件或目錄時候的權限默認值”。查詢umask有以下兩種方式:

  技術分享圖片

  目錄與文件的默認權限是不一樣的:

  - 文件,默認沒有可執行(x)權限,只有r、w這兩項。也就是最大為666。默認為:-rw-rw-rw

  - 目錄,默認所有權限,即為777分,默認權限:drwxrwxrwx

  umask的分數指的是“該默認值需要減掉的權限”,如,umask為022,

  - 創建文件時:(-rw-rw-rw) - (-----w--w)==>-rw-r--r--

  - 創建目錄時:(drwxrwxrwx) - (d-----w--w-)==>drwxr-xr-x

  umask對於新建文件的默認權限是很有關系的。如果umask設置為022,那麽新建的數據只有用戶自己具有w權限,用戶組的人只有r這個可讀權限而已。

  那如何設置umask呢,直接在umask後邊輸入002就好了:

  技術分享圖片

文件的隱藏屬性 chattr,lsattr

  chattr(設置文件的隱藏屬性)

  chattr命令只能在Ext2/Ext3的文件系統上生效。

  技術分享圖片

  這個命令是很重要的,尤其在系統的數據安全上面。+i可以讓一個文件無法被改動,對於需要強烈的系統安全的人來說,真是相當重要的。

  Isattr(顯示文件隱藏屬性)

  技術分享圖片

文件特殊權限:SUID, SGID,SBIT

  -SetUID

  技術分享圖片

  當s這個標記出現在文件所有者的x權限上時,此時被稱為Set UID,簡稱SUID的特殊權限。SUID有這樣的限制與功能:

  - SUID權限僅對二進制程序有效

  - 執行者對於該程序需要具有x的可執行權限

  - 本權限僅在執行該程序的過程中有效

  - 執行過程種,執行者“暫時”將具有該程序所有者的權限。

  技術分享圖片

  另外,SUID僅可用在二進制程序上,不能夠用在shell script 上面。這是因為shell script只是將很多的二進制執行文件調進來執行而已。

  Set GID

  當s標誌在文件所有者x項目為SUID,那s在用戶組的x時則成為Set GID,SGID。SGID可以針對文件或者目錄來設置。如果是對文件來說,有如下功能:

    - SGID對二進制程序有用;

    - 程序執行者對於該程序來說,需具備x的權限

    - 執行者在執行的過程中將會“暫時”獲得該程序用戶組的支持。

  當一個目錄設置了SGID的權限後,它將具有如下的功能:

    - 用戶若對於此目錄具有r與x權限時,該用戶能進入此目錄;

    - 用戶在此目錄下的有效用戶組將會變成該目錄的用戶組;

    - 若用戶在此目錄下具有w的權限(可以新建文件),則用戶所創建的新文件的用戶組與此目錄的用戶組相同。

  Sticky Bit

    這個Sticky Bit(SBIT)目前只針對目錄有效,對於文件已經沒有效果了。SBIT對於目錄的作用:

    - 當用戶對於此目錄具有w,x權限,即具有寫入的權限時;

    - 當用戶在該目錄下創建文件或目錄時,僅有自己與root才有權利刪除該文件。

    - 當甲這個用戶與A目錄是具有用戶組或其他人的身份,並且擁有該目錄的w的權限,這表示甲用戶對該目錄內任何人新建的目錄或文件均可進行刪除、重命名、

     移動等操作。不過如果A目錄加上SBIT的權限項目時,則甲只能夠針對自己創建的文件或目錄進行刪除、重名命名、移動等操作,而無法刪除他人的文件。

  SUID/SGID/SBIT權限設置

    4為SUID

    2為SGID

    1為SBIT

    將一個文件權限改為“-rwsr-xr-x”由於s在用戶權利中,所以是SUID,因此,在原先755之前加上4.“chmod 4755 filename”來設置。

    技術分享圖片

    最後一個例子出現S和T,因為s和t都是替代x這個權限的,但是你有沒有發現,我們執行7666。也就是說,user,group以及other都沒有x這個權限,所以

    這個S,T代表的就是“空的”。SUID是表示這個文件在執行的時候有文件擁有者的權限,但是文件擁有者都無法執行了,哪裏來的權限給其他人使用,當然是空的。

    除了數字法之外,可以用過符號法來處理,其中SUID為u+s,而SGID為g+s,SBIT則是o+t:

    技術分享圖片

Linux 文件與目錄的權限