linux 文件權限詳解
Linux系統中對文件的權限有著非常嚴格的控制,如果操作者對某個文件執行某種操作,必須具有對應的操作權限方可執行成功,其權限類型一般包括讀,寫,執行,對應字母分別為r、w、x。
如果我們要表示一個文件的所有權限詳情,有兩種方式:
1、十位二進制表示法,(三個屬組每個使用二進制位,再加一個最高位共十位),可簡化為三位八進制形式
2、十二位二進制表示法(十二個二進制位),可簡化為四位八進制形式
十位權限表示
常見的權限表示形式有:
-rw——- (600)? ? ? 只有擁有者有讀寫權限。
-rw-r–r– (644)? ? ? 只有擁有者有讀寫權限;而屬組用戶和其他用戶只有讀權限。
-rwx—— (700)? ? ? 只有擁有者有讀、寫、執行權限。
-rwxr-xr-x (755)? ? ? 擁有者有讀、寫、執行權限;而屬組用戶和其他用戶只有讀、執行權限。
-rwx–x–x (711)? ? ? 擁有者有讀、寫、執行權限;而屬組用戶和其他用戶只有執行權限。
-rw-rw-rw- (666)? ? ? 所有用戶都有文件讀、寫權限。
-rwxrwxrwx (777)? ? ? 所有用戶都有讀、寫、執行權限。
后九位解析: Linux權限總共有三個屬組,每個屬組使用三個位置來定義三種操作(讀、寫、執行)權限,合起來則是權限的后九位。 上面用字符表示權限,其中 -代表無權限,r代表讀權限,w代表寫權限,x代表執行權限。
實際上,后九位每個位置的意義(代表某個屬組的某個權限)都是固定的,如果將各個位置權限的有無用二進制數 1和 0來代替,則只讀、只寫、只執行權限,可以用三位二進制數表示為
r– = 100
-w- = 010
–x = 001
— = 000
關于第一位最高位的解釋: 上面說到了權限表示中后九位的含義,剩下的第一位代表的是文件的類型,類型可以是下面幾個中的一個:
d代表的是目錄(directroy)
-代表的是文件(regular file)
s代表的是套字文件(socket)
p代表的管道文件(pipe)或命名管道文件(named pipe)
l代表的是符號鏈接文件(symbolic link)
b代表的是該文件是面向塊的設備文件(block-oriented device file)
c代表的是該文件是面向字符的設備文件(charcter-oriented device file)
推薦教程:《Linux運維》