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 07:37
下一篇 2017-07-27 11:45

相關推薦

  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 目錄管理類的命令: mkdir, rmdir mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自動按需創建父目錄; -v: verbose,顯示詳細過程; -m MODE:直接給定權限; 注意:路徑…

    Linux干貨 2018-01-17
  • crm命令行命令詳解

    crm -status 顯示當前集群狀態 -configure 配置集群 a.show xml 顯示當前集群配置信息(xml格式) b.property 顯示集群可用的全局屬性(鍵入之后按兩下Tab) -verifiy 校驗 -commit 提交 -node a.online 設置當前節點上線 b.show 顯示當前節點狀態 c.standby 將當前節點設…

    Linux干貨 2017-11-04
  • 馬哥教育網絡班21期-第一次課程作業

    計算機組成部分及其作用 1.總線 電子管道,攜帶信息字節并在各個部件間傳輸。分為地址總線,數據總線,控制總線。 CPU最大可尋址范圍:2^N*M,  N為地址總線數量,M為數據總線數量。 2.I/O設備 I/O設備及輸入輸出設備,最常見的輸入設備就是我們非常熟悉的鍵盤,鼠標,我們通過我們通過這些設備向計算機傳達指令,讓計算機完成我們想要它完成的工作…

    Linux干貨 2016-06-29
  • linux 第二周

     一. 文件管理       文件被組織到文件系統(file system)中,通常會成為一個樹狀(tree)結構。Linux有一個根目錄/, 也就是樹狀結構的最頂端。這個樹的分叉的最末端都代表一個文件,而這個樹的分叉處則是一個目錄(directory, 相當于我們在windows界面中看到的文件夾)。在圖1…

    Linux干貨 2017-05-29
  • SSH會話劫持實現端口轉發

    在進行滲透測試時,我們有時候會碰到搭建的測試環境、產品服務器、DMZ或者其他類似的機器群的情況,這時我們完全可以把它們看作跳板。這些系統被設計成對外交互的接口,這時候我們考慮對其他域里的用戶進行SSH會話劫持是個不錯的選擇。 那么如果你擁有了某一個跳板的控制權限,想要通過另一個域的用戶對遠程域進行訪問會怎么辦呢?當然,這時候你是沒有密碼、密鑰的,你不能拋棄二…

    系統運維 2015-03-23
  • 邏輯卷管理(LVM)

    邏輯卷管理(LVM) LVM概念 是系統上對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上的一個邏輯層,用來提高磁盤分區管理的靈活性。 安裝Linux系統時,最常見的問題是如何評估各分區大小,以分配合適的硬盤空間。隨著LVM的出現,這些問題都引刃而解了,用戶在無需停機的情況下方便地情況下方便的調整個分區的大小。 LVM重點在于可以彈性的調整文件系統的容量…

    Linux干貨 2016-11-22
欧美性久久久久