在 UNIX 和類 UNIX 系統(如 Linux 和 macOS)中,檔案的許可權是透過一個三位八進位制數表示的,每一位代表不同的許可權型別。具體含義如下:
八進位制表示
每一位的值代表特定使用者類別的許可權:
-
第一位:使用者(檔案所有者)的許可權
-
第二位:使用者組的許可權
-
第三位:其他使用者的許可權
許可權位的具體表示
許可權用三個位元位表示,每一位的值可以是:
-
4:讀許可權(r)
-
2:寫許可權(w)
-
1:執行許可權(x)
舉一個例子進行說明
0666 代表檔案的讀寫許可權,這是怎麼得來的呢?
0666 的分解:
-
第一個 0:這個 0 表示這是一個八進位制數。
-
第一個 6:使用者的許可權,6 表示 4 (讀) + 2 (寫),即使用者擁有讀和寫許可權。
-
第二個 6:使用者組的許可權,6 同樣表示 4 (讀) + 2 (寫),即使用者組也擁有讀和寫許可權。
-
第三個 6:其他使用者的許可權,6 也表示 4 (讀) + 2 (寫),即其他使用者也擁有讀和寫許可權。
因此,0666 表示所有使用者(檔案所有者、使用者組和其他使用者)都有讀和寫許可權,而沒有執行許可權。這種設定常用於確保檔案的可讀性和可寫性,而不允許執行。