檔案許可權中 chmod、u+x、u、r、w、x分別代表什麼

興趣鬥士發表於2018-04-12

先舉個例子,下圖是Linux中的使用者分組:
使用者分組

Linux系統中的每個檔案和目錄都有訪問許可許可權,如下面所示:
這裡寫圖片描述
要說清楚問題,我們擷取一些內容:

ypy@ubuntu:~$ ls -l
drwxr-xr--  2 ypy  ypy     4096 Nov 30 18:33 Desktop/
drwxr-xr--  2 ypy  ypy     4096 Nov 30 18:33 Documents/
drwxr-xr--  2 ypy  ypy     4096 Dec  1 16:01 Downloads/
-rwxrwxr--  2 ypy  ypy     4096 Feb  8 19:59 exercise
-rw-rw-r--  2 ypy  ypy     4096 Dec  1 16:02 file.sh

看上面第一列的內容:

drwxr-xr-- 表示使用者許可權為:讀、寫、執行;使用者組許可權:讀、執行;其他許可權:讀,不能寫和執行
-rw-rw-r-- 表示使用者許可權為:讀、寫;使用者組許可權:讀、寫;其他許可權:讀,不能寫和執行
0123456789(這裡,我寫個標號,為了後面說明問題方便使用)

接著再深入講解,正確說的直白一點,下面是必要的知識,需要你記住的:

Linux系統中的每個檔案和目錄都有訪問許可許可權,
用它來確定誰可以通過何種方式對檔案和目錄進行訪問和操作。
檔案或目錄的訪問權 限分為只讀,只寫和可執行三種。

這裡顯示的許可權是依次排列的,分別為:[使用者][同組][其他]
使用者許可權,就是你自己的許可權。英文:user,簡寫:u(覆蓋標號123)
使用者組許可權,就是和你同組的人的許可權。英文:group,簡寫:g(覆蓋標號456)
其他許可權,就是不和你同組的人的許可權。英文:others,簡寫:o(覆蓋標號789)
所有人的許可權,英文:all,簡寫:a

r, 即Read,讀,許可權值為4
w,即Write,寫,許可權值為2
x,即eXecute,執行,許可權值為1
-,在標號0位置,表示普通的檔案
-,其他位置,表示對應許可權未開啟,不具備許可權
d,即directory,表示目錄檔案

無任何許可權:數字0表示
開所有許可權:數字7表示,即7=4+2+1

chmod 命令是用於改變檔案或目錄的訪問許可權。

+ 表示增加許可權,如u+x, u+r, u+w, g+w, g+r, o+r, a+r等
- 表示取消許可權,如u-x, u-r, u-w, g-w, g-r, o-r, a-r等
= 表示賦予給定許可權,並取消其他所有許可權(如果有的話,如原來u是rwx,設定u=r,u就剩r)

假如你的file.sh檔案許可權是這樣:
drw-rw-r-- 2 ypy ypy 4096 Dec 1 16:02 file.sh,
表示為:
你可以對該file.sh檔案進行讀、寫、不能執行;
和你同組的人可以讀、寫、不能執行;
其他不和你同組的人:只能讀,不能寫和執行。

現在我們來分析一下,對file.sh檔案,做這個操作:chmod u+x file.sh是什麼意思呢?
表示使用者許可權中,增加執行許可權,修改後變成這樣:
drwxrw-r-- 2 ypy ypy 4096 Dec 1 16:02 file.sh

更多內容:
Linux命令:修改檔案許可權命令chmod、chgrp、chown詳解

相關文章