Linux系統中文件權限(特殊權限)的相關認識

  1. 文件屬性

    在linux系統中一切皆文件,所有的數據都是以文件的形式存儲在系統中,我們可以通過ls命令可以查看文件的相關屬性,如下圖:

            

blob.png

 

                     圖1-1 文件權限及屬性


   從上圖中,可以看到該boot文件權限是r-xr-xr-x(d表示該文件是一個目錄),在linux系統中對文件進行操作的一共三類對象,分別是:

    owner 所屬主: 即創建該文件的人     u

    group 所屬組: 即文件所屬群組      g  

    other 其他人: 即屬主和屬組之外的人  o

每個文件對每類用戶都定義了三種權限:

   Readable:可讀    文件-可以獲取文件的內容   目錄-可以使用ls命令查看文件列表     r

   Writable:可寫    文件-可以對文件進行修改   目錄-可以在目錄中創建和刪除文件     w

   Excutable:可執行  文件-可以對文件執行操作   目錄-可以ls查看文件列表,cd進入目錄  x

           注:X表示只給目錄x權限,不給文件x執行權限

              blob.png

                        圖1-2  X權限

  

  八進制下權限的表現形式:

     blob.png

                        圖1-3 八進制下的權限表現形式


2.文件權限及屬性修改命令

  2.1 chmod 

     改變文件權限

blob.png

                    圖2-1 chmod幫助手冊

  從幫助文檔中,可以獲取chmod命令的相關信息,它語法格式有如下幾種:

    chmod [OPTION]…MODE[,MODE]…FILE…

    chmod [OPTION]…OCTAL-MODE FILE…

    chmod [OPTION]…–REFERENCE=RFILE FILE… 

       -R 遞歸修改權限

  修改一類用戶的所有權限:

    u=  g=  o=  ug=  a=  u= ,g=

  修改某類用戶一位或多位權限

    u+  g+  o+  u-  g-  o-  a+  a-

   blob.png 

            圖2-2 chmod命令使用

  2.2 chown

    修改文件的屬主和屬組 blob.png

                         圖2-3 chown幫助手冊

   chown改變文件所有者和所屬組,語法格式:

      chown [option]…[owner][:[group]] file… 

      chown [option]…reference=rfile file…

         -R:遞歸

    blob.png

             圖2-4 chown命令使用


3.文件系統上的特殊權限

  a.任何一個可執行程序文件能不能執行為進程,是由它的發起者是否有執行權限決定的

  b.啟動為進程后,進程的屬組為發起者,屬組為發起者所屬的組

  c.進程訪問文件時的權限,取決于進程的發起者

  3.1 SUID

    blob.png

                 圖3-1 SUID文件

    SUID只對二進制文件可執行程序有效

   SUID設置在目錄上是無效的

    chmod u+s file…

    chmod u-s file…


  3.2 SGID

   可執行文件上的SGID權限

    啟動為進程后,其進程的屬主為原程序的屬組

    blob.png

                  圖3-2 SGID文件  

    chmod g+s file…

    chmod g-d file…

    

    目錄上的SGID權限

    默認情況下,用戶創建文件,其屬組為此用戶所屬的主組,一旦某目錄被設置為SGID,則對此目錄有些的權限的用戶在此目錄創建的文件所屬的組為此目錄的屬組

    通常用于創建一個協作目錄 

    blob.png

             圖3-3 SGID目錄

    chmod g+s dir…

   chmod g-s dir… 


  3.3 Sticky位

   當一個用戶對一個目錄具有寫權限時,就可以對目錄中的任何文件執行刪除操作,而不需要看該文件的權限。即便該文件由他人創建,并且有嚴格的讀寫權限,只要該文件是創建在該用戶擁有讀寫權限的目錄下,那么該用戶就可以直接對文件進行刪除操作,這樣就不利于數據的安全性,完整性…所以,就有了sticky位,它的作用就是用來約束用戶的行為,在有sticky位的目錄中創建文件,那么只有文件所有者和root才能對文件進行刪除操作,即使,他人有對該目錄的讀寫執行權限,也無法對非本人創建的文件進行刪除。

         blob.png

                       圖3-4 sticky位目錄及操作

   從上圖也可看出,普通用戶想要刪除不是由他創建的目錄時,顯示不允許的操作,即使該用戶對該目錄有讀寫執行的權限。

   sticky位設置在文件上無意義

    chmod o+t dir…

    chmod o-t dir…

 

  3.4 SUID SGID STICKY

     SUID:user 占據屬主的執行權限位  4

       s:屬主具有x權限

       S:屬主沒有x權限

     SGID:group 占據數組的執行權限位  2

       s:group擁有x權限

       S:group沒有x權限

     STICKY:other 占據other的執行權限位 1

       t:other擁有x權限

       T:other沒有執行權限

  3.5 文件特定屬性設定

     chattr

blob.png

                      圖3-5 chattr幫助手冊

    chattr:改變linux文件系統中文件屬性

    +i:當為某個文件設置了i屬性,那么該文件就不能被刪除或者重命名,也不能創建鏈接,也不能將任何數據寫入到該文件中,只有超級管理員和文件的擁有者才能設置或清除這個屬性

    +a:當給某個文件設定了a屬性,那就表明只能往該文件寫入數據,其他操作均不能實現

    lsattr:可以查看文件的這些特定屬性

blob.png

            圖3-6 chattr命令操作

4.訪問控制列表ACL

  ACL: Access Control List 訪問控制列表(實現靈活的權限管理)

  作用: 除了文件的所有者,所屬組和其他人,可以對更多的用戶進行權限設置

  ACL生效順序:所有者 自定義用戶 自定義組 其他人

 4.1 setfacl

blob.png

                    圖4-1 setfacl幫助手冊

   setfacl:設置文件訪問控制權限列表

      setfacl -m u:user:rwx file|directory   對指定用戶設置rwx的acl權限

      setfacl -m g:group:rwx fiel|directory  對指定的組設置rwx的acl權限

      setfacl -Rm g:group:rwX directory     對指定的組設置rwx遞歸目錄的acl權限     

      setfacl -x u:user file | directory     刪除指定用戶的acl權限

      setfacl -X facl.acl directory        刪除指定的acl權限文件

      setfacl -k dir                  刪除默認的acl權限

      setfacl -b file                 清除所有的acl權限 

 

 4.2 getfacl

blob.png

                      圖4-2 getfacl幫助手冊

   getfacl:獲取文件訪問控制列表信息

      getfacl file | directory   查看文件或目錄的acl權限  

    blob.png

                 圖4-3 getfacl命令使用

   備份和恢復ACL

      getfacl -R /tmp/dir1 > acl.txt

      setfacl -R -b /tmp/dir1

      setfacl -R –set-file=acl.txt /tmp/dir1 

      getfacl -R /tmp/dir1

5.umask和acl mask的聯系與區別

  5.1 umask

    當我們登錄系統后創建文件總是有一個默認的權限,普通用戶創建文件默認權限664,創建文件夾默認權限是775,root用戶默認創建文件權限644,創建的目錄默認權限755.這是由umask來限定的,它的參數設置在/etc/profile中,我們可以在/etc/bashrc或家目錄下的.bashrc進行自定義的設置。 

  blob.png

             圖5-1 umask參數      

root用戶的umask碼為022,普通用戶的umask碼為002.

blob.png

          圖5-2 root用戶

blob.png

          圖5-3 普通用戶

   

  5.2 acl mask

     ACL中的mask只影響出所有者和other的之外的人和組的最大權限,mask需要與用戶的權限進行邏輯與運算后,才能變成有效的權限。也就是用戶或組的設置必須存在于mask限定的范圍內才會生效,即當給予了用戶或者組rwx的權限,但是mask碼為rw,那么x的權限就不會生效,有限的就只是rw的權限,有限權限就是不能大于mask碼的權限,可以小于或者等于mask碼的權限。

    blob.png

                    圖5-4 ACL中的mask碼

    ACL中的mask碼規定了用戶或組的默認最大權限,超過這個權限的權限會變成無效的權限,即便給了額外的權限,該權限也無法進行操作,文件中的umask碼則是用文件666(目錄777)-umask,與umask位相同的權限就會被屏蔽掉,從而得出最終的權限。

原創文章,作者:Stupid_L,如若轉載,請注明出處:http://www.www58058.com/28085

(0)
Stupid_LStupid_L
上一篇 2016-08-04 14:39
下一篇 2016-08-04 14:40

相關推薦

  • 馬哥教育網絡班20期-第五周課程作業

    Table of Contents 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; 3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行; 4、添加用戶bash, tes…

    Linux干貨 2016-07-12
  • linux 啟動文件 /etc/fstab 文件刪除 無法開機 修復的方法

    /etc/fstab文件刪除系統自檢無法掛載 無法啟動 按照提示進入命令行  手動寫/etc/fstab,如無內核文件  無grub  就缺啥補啥 fdisk    -l 查看當前分區  blkid    查看分區文件系統的卷標 手動掛載 …

    Linux干貨 2016-09-13
  • keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用

    實驗目的:使用keepalived+haproxy實現wordpress的動靜分離及負載均衡、高可用 實驗要求:客戶端請求的動態資源代理至動態資源web組,請求的靜態代理至靜態資源web組,啟用統計面信息并只對特定啟用統計面管理功能,啟用https安全連接 系統環境:CentOS 7.3、關閉selinux和清除iptables規則,A和B主機各需要兩塊網卡…

    2017-05-18
  • FHS文件系統各個目錄功能

    FHS文件系統各個目錄功能 概述      Linux文件系統有點特別,它采用一種稱為虛擬目錄(virtual directory)的單文件系統,虛擬目錄包括了計算機存儲設備下的所有路徑,并且把它們納入一個目錄結構中。      Linux PC上安裝的第一塊硬盤叫做根驅動器,根驅動器包含了虛擬目錄…

    Linux干貨 2016-10-17
  • 8.3_Linux習題和作業

    課堂習題 1.當用戶xiaoming對/testdir 目錄無執行權限時,意味著無法做哪些操作? 答:不能cd進該目錄 2.當用戶xiaoqiang對/testdir 目錄無讀權限時,意味著無法做哪些操作? 答:不能查看目錄內的文件列表,不能cd,也不能查看目錄里面文件的元數據 3.當用戶wangcai 對/testdir 目錄無寫權限時,該目錄下的只讀文件…

    Linux干貨 2016-08-04
  • Linux命令的使用格式以及命令幫助信息的獲取方式

    1.Linux系統上的命令使用格式 2.Linux系統程序文件存放位置 3.Linux獲取命令的幫助信息 區分內部命令和外部命令 內部命令在系統啟動時就調入內存,是常駐內存的,所以執行效率高。 外部命令是系統的軟件功能,用戶需要時才從硬盤中讀入內存。 #type COMMAND 內部命令獲取幫助信息:#help COMMAND 外部命令獲取幫助信息…

    Linux干貨 2016-10-29
欧美性久久久久