在Linux中給某個檔案新增執行許可權時,通常可以使用chmod 755 a.sh或者chmod +x a.sh來實現。
那麼為什麼是755呢?兩種命令之間又有何差異呢?
7 5 5
┌───┬───┬───┐
│ r │ w │ x │
└───┴───┴───┘
│ │ │ │
│ │ │ └─ 其他使用者(other)
│ │ │
│ │ └─── 與所有者同一組使用者(group)
│ │
│ └─────── 所有者(owner)
│
└─────────── 檔案型別和特殊許可權
7
表示所有者(owner)的許可權,其中:4
表示讀許可權(read),2
表示寫許可權(write),1
表示執行許可權(execute)。
5
表示與所有者同一組使用者(group)的許可權,同樣包含讀和執行許可權,但不包含寫許可權。5
表示其他使用者(other)的許可權,同樣包含讀和執行許可權,但不包含寫許可權。
顯然,755的位標分別對應的是所有者(owner)、同一組使用者(group)、其他使用者(other)使用者的許可權集合。
此外,chmod + x a.sh 則是僅僅給所有者(ower)新增該檔案的執行(execute)許可權,並不涉及(關心)其他許可權、其他使用者。