天天看點

特殊權限管理

  • 使用者在執行程序指令時,需要調用一個屬主和屬組是使用者本身的

    bash

    程序,同時對應

    一個屬主和屬組是

    root

    的檔案,在執行時一其他使用者的身份執行指令;當然這種權限對于屬主和屬組時

    root

    的檔案;
    特殊權限管理
  • 對于這個指令

    /bin/ls

    ,屬主和屬組都是

    root

    ,

    westos

    程序在調用這個指令時,應用的就是

    other

    x

    權限,當這個程序執行時

    ls

    程序的屬主和屬組就是

    westos

    ,通過這種機制可以防止列出一些

    westos

    不具有權限的檔案;
  • 對于

    /bin/passwd

    這個指令,因為每個使用者具有修改自己密碼的權限,但是密碼檔案的屬主和屬組都是

    root

    ,為了保證安全,這個檔案不具有任何權限包括

    root

    組使用者,如果随意的更改這個檔案的權限,會導緻權限放大;
    • 先考慮一種方法,如果為了使用者能夠修改密碼,給了

      other

      使用者讀寫權限,這就會導緻,

      tom

      很有可能就可以修改

      jerry

      的密碼,因為可以通過修改檔案内容,是以這是不安全的;
    • 如果将使用者加入

      root

      屬組,那麼這些使用者很有可能具有

      root

      屬組的其他檔案的權限,這個也是不安全的;
  • SUID

    :在運作某個程式時,如果具有這

    SUID

    權限,那麼這個檔案運作時程序的屬主就是這個檔案本身的屬主,如果這個檔案原來具有執行權限,顯示為

    s

    ,否則為大寫的

    S

    ;
  • 通過給

    /bin/passwd

    設定

    SUID

    權限,即使使用者為

    tom jerry

    屬于

    other

    ,

    passwd

    程序執行本身的屬主和屬組都是

    root

    ,當使用者修改密碼時,通過傳入的參數,

    passwd

    程序通過

    root

    的權限就可以對

    /etc/shadow

    通過

    root

    的權限就進行修改,即保證了

    /etcv/passwd

    檔案本身的安全性,有保證了使用者對于修改自己密碼的需求;
  • SGID

    :啟動程式的程序的屬組不再是使用者的屬組而是程序執行時需要的檔案本身的屬組;在目錄裡面建立的檔案不再是使用者的基本組,而是這個目錄的基本組
  • Sticky

    :表示在一個公共目錄每個人都可以建立檔案,删除自己的檔案,但是不能删除别人的問檔案;用于目錄設定權限;
  • 檔案系統的通路控制清單:
    • 自己建立的檔案的屬主和屬組都是建立檔案使用者,普通使用者是不能改變檔案的屬組的;

      FACL

      :檔案系統通路控制清單:利用檔案系統的擴充屬性儲存額外的通路控制權限,用來定義某個使用者某個組對于檔案有什麼樣的通路權限;也就是在權限的劃分上可以細緻到某個确定的使用者,而不再是使用組這樣的模糊概念;
    • 系統的安全上下文的過程:程序是以使用者的的基本身份去通路檔案系統的,先

      owner-->group --> other

      ;的預設流程進行通路;當權限有了

      setfacl

      時:

      owner--> facl

      ,

      user-->group-->facl

      ,

      group-->other

      .;
    • facl

      裡面有一個權限是

      mask

      ,表示的是你所給的使用者或者組的如果沒有設定

      mask

      權限,

      mask

      權限是随着設定的最大權限改變的,如果已經設定最大權限

      mask

      ,通路控制權限是不能超過

      mask

      權限的,否則以

      mask

      權限為準;
    • setfacl

      :用于設定額外的通路控制清單;
      • -m

        :
        • u:UID:perm

          :用于設定給某個使用者;
        • g:GID:perm

          :用于設定給某個組;
        • 如果需要為了目錄設定預設的通路控制清單:

          d:u:UID:perm

          或者

          d:g:GID:perm

          ;
      • -x

        :
        • u:UID:perm

          :用于取消某個使用者;
        • g:GID:perm

          :用于取消某個組;
    • getfacl

      :用來擷取檔案的通路控制清單資訊;
  • 如果檔案有擴充屬性時,進行檔案歸檔,或者複制時權限會被忽略;
  • 對于檔案設定的

    mask

    :
    特殊權限管理
  • 對于目錄設定的

    mask

    特殊權限管理

繼續閱讀