Linux檔案許可權詳解

hzczichao發表於2010-07-02

Linux檔案許可權詳解


檔案許可權



一個檔案用10個小格來記錄檔案的型別和許可權。第一個小格表示檔案的型別(檔案、資料夾、連線),接下來的三個小格是擁有者(user)本身的許可權,中間三個小格是和使用者同一組的成員(group)的許可權,最後三個小格是表示其它使用者(other)的許可權

r=4,w=2,x=1

若要rwx屬性則4+2+1=7;

若要rw-屬性則4+2=6;

若要r-x屬性則4+1=5。

Linux檔案許可權詳解

Linux系統中不僅是對使用者與組根據UID,GID進行了管理,還對Linux系統中的檔案,按照使用者與組進行分類,針對不同的群體進行了許可權管理,用他來確定誰能透過何種方式對檔案和目錄進行訪問和操作。

一、檔案許可權

  1. 檔案的許可權針對三類物件進行定義

    owner 屬主,縮寫u

    group 屬組,縮寫g

    other 其他,縮寫o

  2. 每個檔案針對每類訪問者定義了三種主要許可權

    r:Read 讀

    w:Write 寫

    x:eXecute 執行

    另 X:針對目錄加執行許可權,檔案不加執行許可權(因檔案具備執行許可權有安全隱患)

    注意:root賬戶不受檔案許可權的讀寫限制,執行許可權受限制

  3. 對於檔案和目錄來說,r,w,x有著不同的作用和含義:

    針對檔案:

     r:讀取檔案內容
     
     w:修改檔案內容
     
     x:執行許可權對除二進位制程式以外的檔案沒什麼意義12345

    針對目錄:目錄本質可看做是存放檔案列表、節點號等內容的檔案

     r:檢視目錄下的檔案列表
     
     w:刪除和建立目錄下的檔案
     
     x:可以cd進入目錄,能檢視目錄中檔案的詳細屬性,能訪問目錄下檔案內容(基礎許可權)12345

    許可權

  4. 使用者獲取檔案許可權的順序: 先看是否為所有者,如果是,則後面許可權不看;再看是否為所屬組,如果是,則後面許可權不看。

二、修改檔案訪問許可權的方法

  • chmod 修改許可權 change mode

    方法1:mode法

    格式:chmod who opt per file

      who:u g o a(all)
      
      opt:+ – =
      
      per:r w x X12345

    方法2:數字法

    格式:chmod XXX file

      rwx rw- r–	
      111 110 100
      7   6   4
      
      r:4
      w:2
      x:11234567

    例:chmod 764 file 給file檔案新增 rwxrw-r– 許可權

    chmod -R +X dir 給dir目錄新增X執行許可權,dir目錄下檔案不新增執行許可權

    (如果dir目錄下有檔案已具備執行許可權,則新增該檔案執行許可權)

三、UMASK值

作用:取消對應的許可權,影響建立檔案和目錄的預設許可權

檔案的預設訪問許可權為666,即-rw-rw-rw- ,建立目錄的預設許可權為777,即drwxrwxrwx ,
而umask值則表明了需要從預設許可權中去掉哪些許可權來成為最終的預設許可權值。
對目錄:	umask+default=777(dir)
對檔案:666-umask:觀察結果,如果有奇數,奇數位+1,偶數不變123

四、三種特殊許可權suid、sgid、sticky(sticky許可權工作環境中相對常用)

  1. suid

    作用:給一個使用者繼承二進位制程式所有者擁有的許可權

    suid許可權位 位於所有者的執行許可權位上,如果一個檔案具有suid許可權,則所有者執行位為s,檔案表現為紅色背景

     例:ll /usr/bin/passwd
     	-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
     給file檔案增加suid許可權
     
     	chmod u+s file
     	
     	chmod 4755 file               suid數字法表示為412345678

    注: suid只適合作用在二進位制程式上

  2. sgid

    作用1:給一個使用者繼承二進位制程式所有組擁有的許可權

    sgid許可權位 位於所有組的執行許可權位,如果一個檔案具有suid許可權,則所有組的執行位為s,檔案表現為黃色背景

    例:ll `which cat`
    	-rwxr-sr-x. 1 root root 48568 Mar 23  2017 /bin/cat
    給file檔案增加sgid許可權
    	chmod g+s file
    	
    	chmod 2755 file               sgid數字法表示為212345678

    作用2:作用在目錄上時,使一個目錄下的新建的檔案繼承目錄的所屬組

  3. sticky

    作用:作用於目錄上,此目錄的檔案只能被所有者刪除

    sticky許可權位 位於其他的執行許可權位上,如果一個檔案具有sticky許可權,則其他的執行位為t,目錄表現為綠色背景

    如:ll -d /tmp
    	drwxrwxrwt. 17 root root 4096 Apr  4 10:02 /tmp
    給dir目錄新增sticky許可權
    	chmod o+t dir
    	chmod 1777 dir                sticky數字法表示為112345678

五、ACL訪問控制列表

作用:實現更加靈活的許可權管理,打破了三類使用者的許可權管理

  1. 新增ACL許可權

    setfacl -m u:wang:0 file 使wang賬戶對指定file檔案無許可權
    setfacl -m u:mage:rw file       使mage賬戶對指定file檔案有讀寫許可權
    setfacl -m g:g1:rw file 使g1組對指定file檔案有讀寫許可權
    getfacl     file                     檢視指定file檔案的ACL許可權1234567

    ACL許可權執行順序類似於使用者獲取檔案許可權的順序,getfacl順序從上到下執行,一旦生效,下面的將不再生效(如果屬於多個組,許可權累加)

  2. 刪除ACL許可權

    setfacl -x u:wang file      刪除wang賬戶對指定file檔案的ACL許可權
    setfacl -x g:g1 file   刪除g1組對指定file檔案的ACL許可權123
  3. ACL許可權下的mask

    設定使用者對指定檔案所能擁有的最大許可權(限高作用)
    setfacl -m mask::r file             使指定檔案file所擁有的最大許可權位讀r
    setfacl -x mask::r file               取消指定檔案file的最大許可權限制mask
    setfacl -b f1                      取消f1檔案所有的ACL許可權1234567

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

  4. 備份和恢復ACL許可權

    getfacl -R /tmp/dir1>acl.txt           將dir1目錄下ACL許可權備份
    setfacl -R –set-file=acl.txt /tem/dir      恢復dir1目錄下ACL許可權123

六、檔案許可權操作的常用命令

  • chown 設定檔案所有者(普通使用者無法修改檔案所有者)

  • chgrp 設定檔案所屬組(普通使用者要想該所屬組,前提是檔案所有者為自己,自己在所屬組中)

  • chmod 設定指定檔案許可權

      -R     遞迴
      
      –reference=f1 f2 f3        參考f1檔案許可權設定f2,f3檔案123
  • chattr 給指定檔案新增保護,避免root賬戶誤操作

      +i      鎖定檔案,不能刪除,不能改名,不能更改內容
      
      -i      解鎖+i
      
      -a     鎖定檔案,不能刪除,不能改名,但可追加內容(追加重定向)
      
      -a     解鎖+a
      
      +A    指定檔案讀時間atime不再更改123456789
  • lsattr 檢視指定檔案是否有鎖定狀態

  • setfacl 設定檔案ACL許可權

      -m mask::r file          使指定檔案file所擁有的最大許可權位讀r
      
      -x mask::r file            取消指定檔案file的最大許可權限制mask
      
      -b f1                   取消f1檔案所有的ACL許可權
      
      -R –set-file=acl.txt /tem/dir   恢復dir1目錄下ACL許可權1234567
  • getfacl 檢視檔案ACL許可權




About Me

........................................................................................................................

● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除

● 本文在itpub、部落格園、CSDN和個人微 信公眾號( DB寶)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文部落格園地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、個人簡介及小麥苗雲盤地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址:

........................................................................................................................

● QQ群號: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友 646634621 ,註明新增緣由

● 於 2020-05-01 06:00 ~ 2020-05-30 24:00 在西安完成

● 最新修改時間:2020-05-01 06:00 ~ 2020-05-30 24:00

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

........................................................................................................................

小麥苗的微店

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

小麥苗OCP、OCM、高可用網路班http://blog.itpub.net/26736162/viewspace-2148098/

小麥苗騰訊課堂主頁https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客戶端掃描下面的二維碼來關注小麥苗的微 信公眾號( DB寶)及QQ群(DBA寶典)、新增小麥苗微 信, 學習最實用的資料庫技術。

........................................................................................................................

歡迎與我聯絡

 

 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2692625/,如需轉載,請註明出處,否則將追究法律責任。

相關文章