版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
先舉個例子,下圖是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
- 1
- 2
- 3
- 4
- 5
- 6
看上面第一列的內容:
drwxr-xr-- 表示用戶權限為:讀、寫、執行;用戶組權限:讀、執行;其他權限:讀,不能寫和執行
-rw-rw-r-- 表示用戶權限為:讀、寫;用戶組權限:讀、寫;其他權限:讀,不能寫和執行
0123456789(這里,我寫個標號,為了后面說明問題方便使用)
- 1
- 2
- 3
接着再深入講解,正確說的直白一點,下面是必要的知識,需要你記住的:
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
假如你的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
https://blog.csdn.net/BjarneCpp/article/details/79912495