文件或目錄的權限
linux系統中,每個用戶的角色和權限劃分的很細致也很嚴格,每個文件(目錄)都設有訪問許可權限,利用這種機制來決定某個用戶通過某種方式對文件(目錄)進行讀、寫、執行等操作。
操作文件或目錄的用戶,有3種不同類型:文件所有者、群組用戶、其他用戶。最高位表示文件所有者的權限值,中間位表示群組用戶的權限值,最低位則表示其他用戶的權限值,所以,chmod 777中,三個數字7分別對應上面三種用戶,權限值都為7。
文件或目錄的權限又分為3種:只讀、只寫、可執行。
依照上面的表格,權限組合就是對應權限值求和,如下:
7 = 4 + 2 + 1 讀寫運行權限
5 = 4 + 1 讀和運行權限
4 = 4 只讀權限
因此,這樣也就明白了 chmod 754 filename 命令的含義了。
chmod 命令
在linux終端先輸入ll,可以看到如:
-rwx-r--r-- (一共10個參數) 表示文件所屬組和用戶的對應權限。
第一個跟參數屬于管理員,跟chmod無關,先不管。
2-4參數: 屬于user
5-7參數: 屬于group
8-10參數: 屬于others
777和755分別是什么意思?
777 表示 rwxr-rwx-rwx 所有用戶都可讀可寫可執行。
755 表示 創建者擁有讀寫可執行權限、同一組用戶以及其他用戶擁有讀和執行權限。
示例:chmod 777 文件或目錄
chmod 777 /rickie 運行命令后,rickie文件夾(目錄)的權限就被修改為777(可讀可寫可執行)。
上述命令執行之前:
drwxr-xr-x 2 root root 41 Sep 12 16:04 rickie
執行之后:
drwxrwxrwx 2 root root 41 Sep 12 16:04 rickie
Linux給文件或目錄賦權限還有一種容易理解方法
比如:
chmod a-x 表示所有用戶對此文件或目錄將沒有執行權限。
chmod a+x 表示所有用戶對此文件或目錄將有執行權限。
(1) 創建 hello.md 文件;
echo "hello rickie" > hello.md
(2) 添加執行權限
chmod a+x
“a”表示所有用戶,“u”表示創建者、“g”表示創建者同組用戶、“o”表示其他用戶;
“+”表示添加權限,“-”表示取消權限;
“r”表示讀權限、“w”表示寫權限、“x”表示寫權限。
更多官方的、詳細的解釋,可以使用下面的命令查看:
chmod --help 或者 man chmod