chmod
在Linux中,不同的用戶(包括不同組的用戶)對同一個文件的訪問權限是不一樣的,當想要改變某個用戶對某個文件的權限時,最常用來改變權限的命令就是 chmod。
在了解這個命令之前,首先就應該對linux下權限的表示有一定的了解。
先上圖了解下:

在圖片中的 - r w - r- - r - -,也就是通過 ls -l 命令查看文件時,每一行的二到十列都是文件的權限。
在Linux 中共有三種權限,且按 rwx 的順序排列 :
r:表示可讀
w:表示可寫
x:表示可執行,目錄文件可執行代表這個目錄可以被搜索
-表示不具備對應位置的權限。
從第二列到第十列一共九列,每三列分為一組,分別為:
1_文件所屬用戶對文件的權限(用 user 表示,可縮寫為 u);
2_與文件所屬用戶同組的用戶對文件的權限(用 group 表示,可縮寫為 g);
3_除以上兩種用戶外,其他用戶對文件的權限(用 other 表示,可縮寫為 o).。
例如上圖中:user對 test.txt 文件的權限是 rw- ,同組用戶的權限是r- -,other 對文件的權限是 r- - 。
除了用 rwx 的方式表示權限外,還有一種使用數字表示權限的方式:
讀權限對應 4;
寫權限對應 2;
執行權限對應 1;
- 對應 0 。
針對 user ,group,other這三種用戶,他們對一個文件的所有權限可以用他們具有的權限對應的數字之和來表示,例如上圖:
user對test.txt文件的權限是6(4+2+0),group 的權限是 4(4+0+0),other的權限是 4(4+0+0)。所以呢,- r w - r- - r - -就可以表示為644,這樣就是 user, group, other 對 test.txt 文件的權限表示了。
鋪墊打好了,那怎么通過chmod 來改變用戶對文件的操作權限呢?
chmod 的命令格式:chmod 權限的改變 要改變的文件(或者文件夾)
例如:
要使 group 對test.txt 有讀寫權限,other 對test.txt 有讀寫權限
chmod g+w,o+w test.txt
或者這樣
chmod g=u,o=u test.txt
甚至這樣:
chmod 666 test.txt
還能這樣:
chmod g=rw,o=rw test.txt
當想剝奪group 和 other 對test.txt 的寫權限時:
chmod g-w,o-w test.txt
當想給所有用戶對test.txt加上執行權限時,可以這樣:
chmod u+x,g+x,o+x test.txt
嫌麻煩還可以這樣:
chmod a+x test.txt
當想改變一個文件夾以及文件夾內的文件的權限時該怎么辦呢?這個時候可以在命令末尾加上:
-R(注意,必須是大寫的R)
例如:
chmod o-w directory/ -R
