這節課我們重點來學習權限管理命令,說到權限大家可能第一時間能想到的就是讀、寫、執行 rwx 三種權限,在正式講解權限命令之前,先簡單的介紹一下rwx權限對于檔案和目錄的不同含義,
| 權限字符 | 權限 | 對檔案的權限意義 | 對目錄的權限意義 |
|---|---|---|---|
| r | 讀權限 | 可以查看檔案內容 | 可以列出目中的內容 |
| w | 寫權限 | 可以修改檔案內容 | 可以在目錄中創建和洗掉檔案 |
| x | 執行權限 | 可以執行檔案(如命令、腳本) | 可以進入目錄 |
1、chmod 命令解釋
- 命令名稱:
chmod - 命令英文全稱:
change the permissions mode of a file - 命令所在路徑:
/bin/chmod - 執行權限:所有用戶
- 命令功能:修改檔案或目錄的權限
- 語法:
chmod [ugoa] [+-=] [rwx] [檔案或目錄]
引數說明
[ugo] : u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個所屬組(group),o 表示其他以外的人,a 表示這三者皆是,
[+-=] : + 表示增加權限、- 表示取消權限、= 表示覆寫之前的權限,
[rwx] : r 表示可讀取,w 表示可寫入,x 表示可執行
舉例
$ chmod u+wx file1#將file1的所有者添加可寫和可執行權限
$ chmod o-r file1#將file1給其他人去掉可讀權限
$ chmod g=rwx#將所屬組的權限設定為可讀、寫、執行權限,不管之前是的權限是什么
比如我們目錄下面有file1檔案,目前所有者權限是 rw,現在給所有者增加 x 權限,執行 $ chmod u+x file1 即可:

雖然這種方法很方便,但是我們在實際程序中,并不太用這種方式,而是通過數字的方法來設定權限,語法如下:
$ 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 即可:

其他引數說明
-c: 若該檔案權限確實已經更改,才顯示其更改動作-f: 若該檔案權限無法被更改也不要顯示錯誤訊息-v: 顯示權限變更的詳細資料-R: 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞回的方式逐個變更)--help: 顯示輔助說明--version: 顯示版本
比如我要對當前目錄下所有的檔案及目錄修改為
777權限,執行$ chmod -R 777 *
2、chown 命令解釋
- 命令名稱:
chown - 命令英文全稱:
change file ownership - 命令所在路徑:
/bin/chown - 執行權限:所有用戶
- 命令功能:修改檔案或目錄的所有者
- 語法:
chown [用戶] [檔案或目錄]
舉例
比如我test目錄下面有個file1檔案,目前所有者是 root,我想改成我安裝系統的時候定義的用戶chuan,執行命令:
$chown chuan file1

3、chgrp 命令解釋
- 命令名稱:
chgrp - 命令英文全稱:
change file group ownership - 命令所在路徑:
/bin/chgrp - 執行權限:所有用戶
- 命令功能:修改檔案或目錄的所屬組
- 語法:
chgrp [用戶組] [檔案或目錄]
使用方法和chown一樣,這里就不多做說明了,
4、umask 命令解釋
- 命令名稱:
umask - 命令所在路徑:
/bin/umask - 執行權限:所有用戶
- 命令功能:在建立檔案時預設預設的權限掩碼
- 語法:
umask [-S]
引數說明
-S以文字的方式來表示權限掩碼
舉例
可以使用命令 umask 來查看umask值:
$ umask

可以看到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的常用其他命令,

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/9739.html
標籤:Linux
上一篇:Ubuntu 安裝可視化桌面
下一篇:Docker
