Linux經常使用命令之用戶權限管理chmod、chown、chgrp、umask命令講解

這節課咱們重點來學習權限管理命令,說到權限你們可能第一時間能想到的就是讀、寫、執行 rwx 三種權限,在正式講解權限命令以前,先簡單的介紹一下rwx權限對於文件和目錄的不一樣含義。數組

權限字符 權限 對文件的權限意義 對目錄的權限意義
r 讀權限 能夠查看文件內容 能夠列出目中的內容
w 寫權限 能夠修改文件內容 能夠在目錄中建立和刪除文件
x 執行權限 能夠執行文件(如命令、腳本) 能夠進入目錄

一、chmod 命令解釋學習

  • 命令名稱:chmod
  • 命令英文全稱:change the permissions mode of a file
  • 命令所在路徑: /bin/chmod
  • 執行權限:全部用戶
  • 命令功能:修改文件或目錄的權限
  • 語法:chmod [ugoa] [+-=] [rwx] [文件或目錄]

參數說明

[ugo] : u 表示該文件的擁有者,g 表示與該文件的擁有者屬於同一個所屬組(group),o 表示其餘之外的人,a 表示這三者皆是。code

[+-=] : + 表示增長權限、- 表示取消權限、= 表示覆蓋以前的權限。blog

[rwx] : r 表示可讀取,w 表示可寫入,x 表示可執行ip

舉例

$ chmod u+wx file1 #將 file1的全部者添加可寫和可執行權限io

$ chmod o-r file1 #將 file1給其餘人去掉可讀權限table

$ chmod g=rwx #將所屬組的權限設置爲可讀、寫、執行權限,無論以前是的權限是什麼test

好比咱們目錄下面有file1文件,目前全部者權限是 rw,如今給全部者增長 x 權限,執行 $ chmod u+x file1 便可:file

image

雖然這種方法很方便,可是咱們在實際過程當中,並不太用這種方式,而是經過數字的方法來設置權限,語法以下:權限

$ chmod [mode=421] [文件或目錄] #其中 4 表明 r讀權限, 2 表明w寫權限,1表明x執行權限

咱們知道一個文件的權限是由rwx來表示,好比 rwxr-xr--,在前的文章咱們有提到,把這個權限每三個分爲一組,分別表明全部者權限、所屬組權限以及其餘人權限。

rwxr-xr--舉例,每三個分爲一組,那麼能夠分爲:全部者權限是 rwx,所屬組權限是 r-x,其餘人權限是 r--。若是用數組來代替,全部者權限rwx:4+2+1=7,依次類推,所屬組權限是5,其餘人權限是4。所以用數字來表示權限的命令就是:chmod 754 file

好比我目錄下有個 file2文件,目前權限是rw-r--r--(644),如今要改爲 rwxr-xr-x(755),執行命令
$ chmod 755 file2 便可:

image

其餘參數說明

  • -c : 若該檔案權限確實已經更改,才顯示其更改動做
  • -f : 若該檔案權限沒法被更改也不要顯示錯誤訊息
  • -v : 顯示權限變動的詳細資料
  • -R : 對目前目錄下的全部檔案與子目錄進行相同的權限變動(即以遞迴的方式逐個變動)
  • --help : 顯示輔助說明
  • --version : 顯示版本

好比我要對當前目錄下全部的文件及目錄修改成777權限,執行 $ chmod -R 777 *

二、chown 命令解釋

  • 命令名稱:chown
  • 命令英文全稱:change file ownership
  • 命令所在路徑: /bin/chown
  • 執行權限:全部用戶
  • 命令功能:修改文件或目錄的全部者
  • 語法:chown [用戶] [文件或目錄]

舉例

好比我test目錄下面有個file1文件,目前全部者是 root,我想改爲我安裝系統的時候定義的用戶chuan,執行命令:

$chown chuan file1

image

三、chgrp 命令解釋

  • 命令名稱:chgrp
  • 命令英文全稱:change file group ownership
  • 命令所在路徑: /bin/chgrp
  • 執行權限:全部用戶
  • 命令功能:修改文件或目錄的所屬組
  • 語法:chgrp [用戶組] [文件或目錄]

使用方法和chown同樣,這裏就很少作說明了。

四、umask 命令解釋

  • 命令名稱:umask
  • 命令所在路徑: /bin/umask
  • 執行權限:全部用戶
  • 命令功能:在創建文件時預設缺省的權限掩碼
  • 語法:umask [-S]

參數說明

-S以文字的方式來表示權限掩碼

舉例

可使用命令 umask 來查看umask值:

$ umask

image

能夠看到umask值爲0022,其中第一個0與特殊權限有關,能夠暫時不用理會,後三位002則與普通權限(rwx)有關,即權限掩碼值,其中002中:

  • 第一個0與用戶(user)權限有關,表示從用戶權限減0,也就是權限不變,因此文件的全部者的權限是默認權限(rwx)

  • 第二個2與組權限(group)有關,因爲w=2,因此須要從其餘用戶默認權限(rw)減去2,也就是去掉寫(w)權限
    所屬組的權限(r-x)

  • 最後一位2則與系統中其餘用戶(others)的權限有關,也是同樣的去掉寫(w)權限。

所以最後咱們查看它的權限應該是:rwxr-xr-x

其實這樣看起來不太直觀,咱們可使用:

$ umask -S

用戶權限管理命令主要就是以上幾個命令了,下一節課咱們來繼續學習Linux的經常使用其餘命令。

image

相關文章
相關標籤/搜索