天天看點

權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

文章目錄

  • 權限介紹
  • chmod 指令
    • 指令格式
    • 常用用法
  • 基本權限的含義
  • chown 指令
    • 指令格式
    • 常用用法
  • chgrp 指令
    • 指令格式
    • 常用用法
  • umask 預設權限

權限介紹

  1. 為什麼需要權限

    平時所使用的計算機都是個人計算機,都是自己或者自己信任的人在使用,是以感受不到權限的作用,都是使用管理者權限。

    可是,對于伺服器來說,使用者非常多,伺服器裡儲存的資料有些非常重要,有些價值非常高,是以對權限當然是設定的越詳細越好,使用者的分級越明确越好。比如在銀行裡,行長和櫃台服務人員對于存儲資料的伺服器的權限肯定不同。在伺服器上,絕對不是所有的使用者都是用 root 身份登入,而要根據不同的工作需要和職位需要,合理配置設定使用者等級和權限等級。

  2. 檔案的所有者、所屬組和其他人
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

    前面講 “ls -l” 時,簡單說過所有者和所屬組的含義,指令的第三列代表所有者,第四列代表所屬組。

    檔案的所有者一般就是這個檔案的建立者,比如 data 檔案,我們在 shz1 下建立的,是以所有者就是 shz1;系統中,大部分系統檔案都是 root 建立的,是以絕大多數系統檔案的所有者都是 root。

    檔案的所屬組,要想解釋這個概念,我們先要知道使用者組的概念。使用者組就是一組使用者的集合,為什麼要把一組使用者放在一起呢?當然是為了友善管理。比如,我們有100位使用者,都需要配置設定相同的權限,我們如果一個個使用者去配置,豈不是累死了0.0…,而将所有使用者分到一個使用者組,給整個組配置設定權限,不管多少使用者,一次就好了,是不是非常友善啊!所屬組的這個組,指的就是使用者組。

    其他人,就是字面意思。

  3. 權限位含義
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

    前面講 “ls -l” 時,我們知道第一列是檔案的權限,如上圖所示。

    總共10個字元:

    第一位代表檔案類型:

字元 檔案類型 描述 示例
- 普通檔案 用來在輔助儲存設備(磁盤)上存儲資料 程式源代碼、可執行程式、圖檔、聲音、文字、視訊等
d 目錄檔案 linux 中一切都是檔案,目錄也是 /root /home
l 軟連結檔案 用于不同目錄下檔案的共享(快捷方式) 建立已存在檔案的符号連結時,系統就建立了一個連結檔案,這個連結檔案指向已存在的檔案
b(塊) c(字元) 裝置檔案 用來通路硬體裝置 鍵盤、列印機、光驅、硬碟等
p 管道符檔案 特殊類型檔案 Linux 系統下,程序之間通信可以通過該檔案完成
s 套接字檔案 特殊類型檔案 一些服務支援 socket 通路,就會産生這樣的檔案

第2~4位代表檔案所有者的權限;

第5~7位代表檔案所屬組的權限;

第8~10位代表其他人的權限。

他們所能擁有的權限都是 “rwx” 權限:

r:read 讀取權限;

w:write 寫權限;

x:execute 執行權限。

如果有字母,代表相應的權限;如果是 “-” ,則代表沒有對應權限。

chmod 指令

項目 内容
指令名稱 chmod
英文原意 change file mode bits
所在路徑 /bin/chmod
執行權限 所有使用者
作用 修改檔案的權限模式

指令格式

chmod [選項] 權限模式 檔案名
選項:
	-R:	遞歸設定權限,也就是給子目錄中的所有檔案設定權限
           
  • 權限模式

    格式: [使用者身份] 賦予方式 權限

  • 使用者身份
符号 含義
u 代表所有者(user)
g 代表所屬組(group)
o 代表其他人(other)
a 代表全部身份(all)

預設預設是a

  • 賦予方式
符号 含義
+ 加入權限
- 減去權限
= 設定權限
  • 權限
符号 含義
r 讀取權限
w 寫權限
x 執行權限

權限還可以用數字表示:

符号 對應數字
r 4
w 2
x 1

比如 755權限:

7=4+2+1 代表所有者有rwx權限

5=4+1 代表所屬組有r-x權限

5=4+1 代表其他人有r-x權限

常用用法

  • 用 “-” 去掉權限
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限
  • 用 “+” 給多個使用者添權重限
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限
  • 混合使用
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限
  • 數字權限
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

基本權限的含義

  • 權限對檔案的作用
  1. r:可以讀取檔案中的資料。如果把權限對應到指令上,也就是可以使用 cat、more、less、head、tail、vim、gedit 等指令檢視檔案内容。
  2. w:可以修改檔案中的資料。如果把權限對應到指令上,也就是可以使用 vim、gedit、echo 等指令修改檔案内容。
  3. x:對檔案有執行權限。注意,檔案有了執行權限,該檔案能不能執行,還要看檔案中的代碼是不是正确的語言代碼。對檔案來說,執行權限是最高權限。
  • 權限對目錄的作用
  1. r:可以檢視目錄下的内容,也就是可以檢視目錄下有哪些子檔案和子目錄。如果把權限對應到指令上,就可以用 ls 在目錄下檢視目錄下的内容啦。
  2. w: 可以修改目錄下的資料,也就是可以在目錄中建立、删除、複制、剪切子檔案或子目錄。如果把權限對應到指令上,也就是可以使用 touch、rm、cp、mv 指令。對目錄來說,寫權限是最高權限。
  3. x:目錄是不能運作的,給目錄執行權限,代表可以進入目錄。如果把權限對應到指令上,也就是可以使用 cd 指令,進入目錄。

其實這些權限位的含義可以聯系 ext4 檔案系統的組成,可知其是以然。

chown 指令

項目 内容
指令名稱 chown
英文原意 change file owner and group
所在路徑 /bin/chown
執行權限 所有使用者
作用 改變檔案和目錄的所有者和所屬組

指令格式

chown [選型] 所有者:所屬組 檔案或目錄
選項:
	-R:		遞歸設定權限
           

常用用法

  1. 修改檔案的所有者

    隻有檔案的所有者和root使用者有權修改檔案的權限,如果普通使用者需要對某個檔案擁有最高權限的時候,是不能把其他人權限修改為最高權限,否則其他所有使用者都擁有了檔案的最高權限,這是非常不安全的做法。合理的做法是修改檔案的所有者,這樣既可以讓普通使用者有最高權限,也不會影響其他普通使用者。看如下例子:

    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限
  2. 修改檔案的所屬組
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

    “:” 也可以用 “.” 替代;

    修改所屬組,也是為了調整權限,即調整一組權限。

chgrp 指令

項目 内容
指令名稱 chgrp
英文原意 change group ownership
所在路徑 /bin/chgrp
執行權限 所有使用者
作用 改變檔案和目錄的所屬組

指令格式

chgrp  所屬組 檔案或目錄
           

常用用法

  1. 修改改變檔案的所屬組
    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

umask 預設權限

  1. umask 權限的作用

    umask 權限是 Linux 權限的一種。在 Linux 中,所有的檔案和目錄都要有基本的權限,建立的檔案和目錄當然也要有預設的權限。

    在 Linux 中,通過 uamsk 預設權限來給所有建立立的檔案和目錄賦予初始權限,這一點和 Window 不一樣,Windows 是通過繼承上級目錄的權限來給檔案和目錄賦予初始權限的。

    檢視系統的 umask 權限:

    權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限
    數值的 umask 權限,我們看到是: 0002 ,其中第一個 0 代表檔案的特殊權限,暫時不談;後 3 為數字 002 才是真正的 umask 預設權限。
  2. umask 計算方法

    Linux 中,對于建立檔案和目錄有預設的最大權限:

    (1) 對檔案來說,建立檔案的預設最大權限是 666,沒有執行權限。)

    (2) 對于目錄來講,建立目錄的最大權限是 777。

    umask 計算方法很多,這裡列舉一個比較簡單的,将 uamsk 換算成字母,檔案和目錄的權限也換算成字母(分别為 rw-rw-rw- 和 rwxrwxrwx ),減去對應字母即可。

umask 檔案 (rw-rw-rw-) 目錄(rwxrwxrwx)
0 0 2 —> -------w- rw-rw-r- - rwxrwxr-x
1 6 6 —> --xrw-rw- rw------- rw—x–x
0 3 3—>----wx-wx rw-r–r-- rwxr–r--

注意:不是數字相減

測試結果如下:

權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

3. umask 預設權限的修改方法

(1)臨時修改 umask 預設權限,重新開機或重新登入就會失效(開新的終端也不同)

權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

(2)永久修改 umask 預設權限

對于目前使用者,在~/.bashrc 中 添加 umask 044 ,重新登入即可更改。

對于所有使用者,可以參照如下結果:

權限管理指令權限介紹chmod 指令基本權限的含義chown 指令chgrp 指令umask 預設權限

繼續閱讀