Linux 基礎(6)—— 權限

修改所屬人,所屬組                文件的 r w x 權限            修改文件的權限chmod          umask   
文件系統上的特殊權限            設定文件特定屬性            ACL

文件權限

Linux 基礎(6)—— 權限

1.修改所屬人,所屬組    chown 
(1)change owner 修改文件的所屬人
            owner.group   或   owner:group 修改文件的所屬人和所屬組
以上只有root才能修改文件的所有人

Linux 基礎(6)—— 權限

(2)chgrp : change group   或   chown :group [ .group] 修改文件的所屬組

           root和文件的owner可以修改文件的所屬組(owner修改所屬組時,owner必須屬于目標組)

Linux 基礎(6)—— 權限

chown     -R 遞歸

Linux 基礎(6)—— 權限

Linux 基礎(6)—— 權限

chown     –reference test.sh(源文件)  house(修改的文件)

Linux 基礎(6)—— 權限

2.文件的 r w x 權限
(1)文件的權限主要針對三類對象進行定義:

   owner: 所屬人, u

   group: 所屬組, g

   other:  其他人, o

Linux 基礎(6)—— 權限

(2)權限判斷的順序(beta)
         先判斷是否是文件的所有人,如果是,則執行所屬人的權限后結束,如果不是所有人,則判斷是否所屬組(可以是主組也可以是輔助組),如果是,則執行所屬組的權限后結束,如果不是則執行其他人的權限后結束。
                                          所有人->所有組->其他人
(3)普通文件 (三種常用權限)
     r: 可以讀取文件的內容
        例: cat    less    more   nano   vim    執行腳本
     w: 可以修改文件的內容
        例: nano   vim   >    >>   tee   gedit
     x: 可以執行該文件 (單獨無作用)
        例:  執行腳本
     rwx:最大權限 666
(4)目錄文件
     r: 用戶可以列出目錄下有哪些文件(不能查看文件的詳細信息)
     w: 只有w無意義。
     x: 用戶可以進入該目錄(如果知道文件名,且有相對應的文件權限 ,可以執行對應的操作)
     rx: 用戶可以進入目錄,且可以長列出。
     rw:等于只有r
     wx: 能進入,能創建能刪除,不能列出。故用戶能否刪除文件與文件自身權限無關。
     rwx: 最大權限 777
     —:null

  目錄文件只有rx :

Linux 基礎(6)—— 權限

  目錄文件只有wx :

Linux 基礎(6)—— 權限

  用數字表示權限
    — 0       –x 1       -w- 2       -wx 3       r– 4       r-x 5        rw- 6        rwx 7

3.修改文件的權限 chmod
只有所屬人和root可以更改文件的權限
(1)字符修改   chmod u=..,g=..,o=… filename
                                     ugo+rwx 或 a=rwx filename 給文件所有權限
                                     a=     filename 沒有任何權限

                                     u+-…,g=-…,o=-…

Linux 基礎(6)—— 權限

              chmod -R a+X dir1 遞歸給目錄加x權限;X 當普通文件本身沒有x權限時,則跳過,給目錄加上所以x權限。一般用于批量修改多個文件、目錄的權限時,自動跳過沒有執行權限的文件。

Linux 基礎(6)—— 權限

(2)數字修改    chmod n filename

Linux 基礎(6)—— 權限

   chmod –reference 源文件 目的文件

4.umask     最大權限-umask=默認權限(創建文件touch,創建目錄mkdir時)

 最大權限  777(目錄文件)   666(普通文件)

 umask      022(root默認)   022 (root下)            (普通用戶   002    002)

 默認權限  755                        644

Linux 基礎(6)—— 權限

  當umask中全部是偶數時,可以直接減,當umask中包含奇數時,對于目錄直接減,對于文件,在奇數所在的位減完后加一。
     umask  231    設置umsk為231
  例 777  rwxrwxrwx(目錄文件)    666  rw-rw-rw-(普通文件)
      231  -w–wx–x                       021  -w–wx–x

      546  r-xr–rw-                        446   r–r–rw-

Linux 基礎(6)—— 權限

  umask –S 字符模式方式顯示默認權限
  umask –p 輸出可被調用
              全局設置: /etc/bashrc 用戶設置:~/.bashrc(永久生效)
  cp時 當目標文件不存在時(相當于touch了一個新文件) 目標文件的權限=源文件-umask
          當目標文件存在時,被覆蓋, 目標文件還是目標文件的權限 (目錄也一樣)
Linux 基礎(6)—— 權限

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

SUID, SGID, Sticky
(1)suid 當對一個可執行的二進制文件作用了SUID權限之后,任何擁有執行該文件權限的人,在執行的過程時都臨時擁有該文件所屬人的權限。 例:passwd    -rwsr-xr-x
                權限設定:chmod u+s FILE    或     chmod 4… file
        SUID: 占據所屬人的執行權限位x

                  s: 所屬人擁有x 權限          S :所屬人沒有x

Linux 基礎(6)—— 權限

(2)sgid 當對一個可執行的二進制文件作用了SGID權限之后,任何擁有執行該文件權限的人,在執行的過程時都臨時擁有該文件所屬組的權限。
                當對一個目錄作用了SGID權限之后,任何對該目錄有wx權限的用戶在該目錄下創建的文件及目錄的所有屬均為該目錄的所有組。
               權限設定:chmod g+s file    或     chmod 2… file
        SGID: 占據屬組的執行權限位
                 s: group 擁有x 權限          S :group 沒有x
Linux 基礎(6)—— 權限

Linux 基礎(6)—— 權限

(3)sticky 當對一個目錄作用了sticky之后(只限制組用戶w權限,目錄的owner不受影響),該目錄下的文件僅其所屬人,目錄所屬人(有wx權限),root才能刪除。
                  權限設定:chmod o+t 目錄    或     chmod 1… 目錄
         Sticky: 占據other 的執行權限位,但和其他人無關
                  t: other 擁有x 權限         T :other 沒有x

Linux 基礎(6)—— 權限

  chmod 6… file    即有suig也有sgid
             3… file    即有sgid也有sticky

             5… file    即有suid也有sticky

             7… file    all

5.設定文件特定屬性
   lsattr 顯示特定屬性
   chattr +i 不能刪除,改名,更改                                   -i解除
   chattr +a 只能追加內容,不能刪除,改名,更改         -i解除

Linux 基礎(6)—— 權限

Linux 基礎(6)—— 權限


6. ACL

(1) CentOS7當中,無論是操作系統安裝時還是之后手工創建的文件系統(xfs、ext4)均會開啟ACL功能。

 CentOS6及之前的版本,僅操作系統安裝時創建的文件系統才會默認開啟ACL,手工創建的文件系統,需要手工開啟ACL功能。
    mount -o acl /dev/sda7 開啟ACL,重新掛載時不指定即可
    tune2fs -o acl /dev/sda7 開啟ACL 取消的方式 tune2fs -o ^acl /dev/sda7
(2) 有ACL時權限判斷的順序
         先判斷是否是文件的OWNER,如果是,則執行OWNER的權限后結束,如果不是OWNER,則判斷是否是ACL的USER,如果是則執行USER權限后結束,如果不是ACL的USER, 則判斷是否屬于GROUP或ACL GROUP,如果是,則取最大權限。如果不屬于任何GROUP,則執行OTHER。
                owner > ACL的USER > 文件所屬組+ACL的group+所屬組屬于的組(weiguo)相加的最大權限 > other
Linux 基礎(6)—— 權限
Linux 基礎(6)—— 權限
Linux 基礎(6)—— 權限
(3) 用法:
①setfacl -m u:liubei:— f1               設置ACL USER
   setfacl -m g:shuguo:rwx f1          設置ACL GROUP
   setfacl -m u::rw,u::rw,g::r,o:: f1  設置多個
Linux 基礎(6)—— 權限
②setfacl -M test.sh f1 重新給f1加上原來的ACL
    test.sh 內容來自getfacl f1 > test.sh,如下
         # file: f1
         # owner: root
         # group: root
         user::rw-
         user:caopi:rwx
         group::r–
         mask::rwx
         other::r–
Linux 基礎(6)—— 權限
③setfacl -x u:liubei f1 單獨去除一條ACL權限
   setfacl -X aclrm.txt f1[ f2 f3 *] 可以批量刪除ACL的用戶和組
    先編輯aclrm.txt 內容如下
               u:liubei
               g:shuguo
Linux 基礎(6)—— 權限
④setfacl -m mask:r f1    或   chmod g=r f1       一旦設置了ACL權限后,原有的文件GROUP不可再更改,使用chmod即修改ACL MASK
              ACL MASK隨著新的ACL設置會被重置,重置的標準是讓該文件上的所有ACL及文件原GROUP上的權限都有效。
Linux 基礎(6)—— 權限
setfacl -Rm u:zhangfei:rwx acltest/ 遞歸設置
Linux 基礎(6)—— 權限
⑤備份和恢復ACL
主要的文件操作命令cp和mv 都支持ACL,cp 命令需要加上-p復制權限。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息
   getfacl -R /tmp/dir1 > acl.txt 將目錄下的所有文件的ACL屬性備份到文件
   setfacl -R -b /tmp/dir1 清除目錄下所有文件的ACL屬性
   setfacl -R –set-file=acl.txt /tmp/dir1 通過文件還原ACL屬性的方法1
   setfacl –restore acl.txt 通過文件還原ACL屬性的方法2
Linux 基礎(6)—— 權限
⑥setfacl -m d:u:caocao:rwx d1 設置ACL默認權限,僅影響新創建的文件及目錄,不影響當前。
   setfacl -m g:caopi:rwx d1
   setfacl -x d:caocao d11 刪除一條默認權限
   setfacl -k d1 刪除全部默認權限
Linux 基礎(6)—— 權限
   setfacl -b f1 去除該文件上ACL屬性。

                                           有 什 么 錯 誤 請 大 家 指 教!

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

(0)
alongalong
上一篇 2017-07-27
下一篇 2017-07-27

相關推薦

  • 文本處理、正則表達式、cut、grep、egrep、fgrep

    文本處理、正則表達式、cut、grep、egrep、fgrep Linux中文本處理工具最常用的就是文本處理三劍客grep、sed、awk再配合正則表達式,可以實現足夠多的文本處理功能。工具的強大之處是因為使用它的人,如何才能發揮文本處理工具的作用呢?答案就是正則表達式,其實正則表達式,只是一種思想,一種表示方法,只要我們使用的工具支持表示這種思想那么這個工…

    Linux干貨 2016-08-07
  • bash中的算術運算及條件測試

    bash的算術運算 +, -, *, /, %取模(取余), **(乘方) 實現算術運算: (1) let var=算術表達式 (2) var=$[算術表達式] (3) var=$((算術表達式)) (4) var=$(expr arg1 arg2 arg3 …) (5) declare –i var = 數值 (6) echo ‘算術表達式’ …

    Linux干貨 2017-04-17
  • linux下的文件查找命令對比(locate,find,grep,sed)

        在linux下,文件系統占據著非常重要的位置,而我們對于文件系統的操作也顯得尤為重要。 如果我們想熟悉的操作文件系統,其中,我們需要對文本的查找,截取等命令需要熟悉的掌握。 這里就不得不說幾個關于文本操作的幾個命令的作用詳細介紹和對比。比如: locate,find ,grep ,sed等。 這里,grep ,…

    Linux干貨 2016-08-15
  • MAN 手冊各章節功能介紹及快捷鍵鍵位整理

    MAN 手冊各章節功能介紹及快捷鍵鍵位整理 前言  Man 手冊頁(Manua pages ,縮寫man page) 是在linux操作系統在線軟件文檔的一種普遍形式。內容包括計算機程序庫和系統調用等命令的幫助手冊。  手冊頁是用troff排版軟件包排版的,是一組man宏。當時手冊頁系統帶來的聯機文檔可用性被認為是一項偉大的進步。時至今日…

    Linux干貨 2016-10-17
  • http請求過程

    1、瀏覽器根據訪問的域名找到其IP地址。DNS查找過程如下: 1.瀏覽器緩存:瀏覽器會緩存DNS記錄一段時間。 2.系統緩存:如果在瀏覽器緩存里沒有找到需要的域名,瀏覽器會查系統緩存中的記錄。 3.路由器緩存:如果系統緩存也沒找到需要的域名,則會向路由器發送查詢請求。 4.ISP DNS緩存:如果依然沒找到需要的域名,則最后要查的就是ISP緩存DNS的服務器…

    Linux干貨 2017-10-23
  • 第八周 服務管理與文本處理

    1、簡述systemd的新特性及unit常見類型分析,能夠實現編譯安裝的如nginx\apache實現通過systemd來管理 2、描述awk命令用法及示例(至少3例) 3、描述awk函數示例(至少3例)    

    2018-01-21
欧美性久久久久