自學Linux Shell7.2-linux文件權限

點擊返回 自學Linux命令行與Shell腳本之路html

7.2-linux文件權限

在linux中每一個文件有全部者、所在組、其它組的概念linux

  • 全部者
    通常爲文件的建立者,誰建立了該文件,就自然的成爲該文件的全部者
    用ls ‐ahl命令能夠看到文件的全部者
    也可使用chown 用戶名 文件名來修改文件的全部者
  • 所在組
    在linux中的每一個用戶必須屬於一個組,不能獨立於組外
    當某個用戶建立了一個文件後,這個文件的所在組就是該用戶所在的組
    用ls ‐ahl命令能夠看到文件的全部組
    也可使用chgrp 組名 文件名來修改文件所在的組
  • 其它組
    除開文件的全部者和所在組的用戶外,系統的其它用戶都是文件的其它組

1. 文件權限符概念

 

 如上圖所示作簡介:drwxr-xr-x  就表示該文件..的文件權限安全

  •  第一個字段的字符d表示對象的類型爲目錄
     d:表示是一個目錄,事實上在ext2fs中,目錄是一個特殊的文件。
    -:表示這是一個普通的文件。
     l: 表示這是一個符號連接文件,實際上它指向另外一個文件。
     b、c:分別表示區塊設備和其餘的外圍設備,是特殊類型的文件。
     s、p:這些文件關係到系統的數據結構和管道,一般不多見到。
  •  剩下的字段分爲3組,分別表明 文件屬主  屬組成員 其餘用戶 的權限爲   rwx  r-x   r-x  

    前三個爲屬主位:建立該文件者或被指定的文件所屬者
    中三個爲屬組位:文件的所屬組,在該組內的非屬主用戶對該文件擁有該屬組權限。
    後三個Other位:other用戶,既不屬於屬主又不在屬組的用戶數據結構

文件權限r  w  x 介紹

  • r(Read,讀取)
    對文件而言,具備讀取文件內容的權限;
    對目錄來講,具備瀏覽目錄的權
  • w(Write,寫入):
    對文件而言,具備新增、修改文件內容的權限;
    對目錄來講,具備刪除、移動目錄內文件的權限。
  • x(eXecute,執行):
    對文件而言,具備執行文件的權限;
    對目錄了來講該用戶具備進入目錄的權限。
  • -:表示不具備該項權限。

文件中rwx的具體含義:命令行

  •       r:可使用相似cat等命令查看文件內容
  •       w:能夠編輯或刪除此文件
  •       x:能夠在命令提示符下當作命令提交給內核運行

目錄中rwx的具體含義:htm

  •       r:能夠對此目錄執行ls以列出內部的全部文件
  •       w:能夠在此目錄建立文件:
  •       x:可使用cd切換進此目錄,也可使用ls -l查看內部文件的詳細信息

舉例說明:
rwx------: 文件全部者對文件具備讀取、寫入和執行的權限。
-rwxr―r--: 文件全部者具備讀、寫與執行的權限,其餘用戶則具備讀取的權限。
-rw-rw-r-x: 文件全部者與同組用戶對文件具備讀寫的權限,而其餘用戶僅具備讀取和執行的權限。
drwx--x--x: 目錄全部者具備讀寫與進入目錄的權限,其餘用戶近能進入該目錄,卻沒法讀取任何數據。
drwx------: 除了目錄全部者具備完整的權限以外,其餘用戶對該目錄徹底沒有任何權限。對象

特別注意:blog

當刪除或移動一個文件或目錄,僅與該文件與目錄所在的上一層目錄權限有關,與該文件自己屬性沒有任何關係。對於文件來講,寫文件是修改文件,而不是刪除文件,所以寫文件是與該文件的自己屬性有關的。get

默認文件權限

使用命令umask改變文件及目錄的默認權限it

Linux系統中,文件的默認權限是由umask肯定的。在/etc/login.defs文件中能夠查看umask在不一樣目錄下的默認權限值。

000   

 --- 對應八進制0 沒有任何權限
001  --x 對應八進制1

只有執行權限

010

 -w- 對應八進制2 只有寫入權限
011  -wx 對應八進制3 有寫入和執行權限
100  r-- 對應八進制4

只有讀取權限

101  r-x 對應八進制5 有讀取和執行權限
110  rw- 對應八進制6 有讀取和寫入權限
111  rwx  對應八進制7 有所有權限

umask命令查看默認權限

umask  不加參數得出的 0022    第一位0表示安全特性叫粘着位,剩下3個數字表示文件或目錄對應的umask的八進制值
建立文件時,默認最大權限是666,建立文目錄最大權限是777,而後根據umask值,計算對應權限。
因此實例建立文件最大權限666減去usmak數值022得出的數值纔是文件權限 = 644      等價於  rw-r--r--

umask命令設置文件的默認權限

umask命令設置目錄的默認權限

umask設置爲026,給新的目錄newdir01, 對應的權限應該是777-026=751  等價於 wrxr-x--x

2. 改變權限chmod

  • chmod能夠用來改變文件或目錄權限的命令,但只有文件的屬主和超級用戶root纔有這種權限。
  • 若同時更改多個所屬對象權限,中間用「空格」隔開

經過chmod改變文件或目錄的權限有兩種辦法:

  • 一是經過權限字母和操做符表達式的方法來設置權限

         u 屬主       g 屬組     o 其它用戶
                   + 增長        - 減去      = 設置
                   r 讀             w 寫        x 執行

  • 另外一種是經過使用數字方法來設置權限

        chmod [數字組合] 文件名
                  -R 能夠改變某個目錄下全部文件的屬性     4 讀      2 寫        1 執行       0 無權限

 

   

原來文件carlos01 caelos02的權限都是無權限,後來在原權限其餘用戶組追加r讀權限,因此變成r--  ,,若想在carlos01的所屬組在追加w權限,carlos02的其餘用戶組減去r讀權限怎麼操做?

3. 改變所屬關係命令chown chgrp

當咱們要改變一個文件的屬組,咱們使用的用戶必須是文件的屬組並且同時是目標屬組的成員,或超級用戶。
只有超級用戶才能改變文件的屬主。

  • chown命令改變文件的屬主
    將指定文件的擁有者改成指定的用戶或組,用戶能夠是用戶名或者用戶ID;組能夠是組名或者組ID;文件是以空格分開的要改變權限的文件列表,支持通配符。
    由於chown既能夠改屬主又能夠改屬組因此下面這個chgrp命令不多用
  • chgrp命令能夠改變文件默認屬組

 

  語法:       chown [選項] [全部者][:[組]] 文件  #:能夠被.代替

  • user : 新的文件擁有者的使用者 ID
  • group : 新的文件擁有者的使用者羣體(group)
  • -c : 若該文件擁有者確實已經更改,才顯示其更改動做
  • -f : 若該文件擁有者沒法被更改也不要顯示錯誤訊息
  • -h : 只對於連結(link)進行變動,而非該 link 真正指向的文件
  • -v : 顯示擁有者變動的詳細資料
  • -R : 對目前目錄下的全部文件與子目錄進行相同的擁有者變動(即以遞迴的方式逐個變動)
  • --help : 顯示輔助說明
  • --version : 顯示版本
相關文章
相關標籤/搜索