Linux中的文件權(quán)限
在Linux中,某些文件很重要,并且只能由系統(tǒng)或授權(quán)用戶使用以確保系統(tǒng)安全。 由于一些文件只能由特定的人訪問,因此不會被其他人意外刪除或更改,因此管理文件安全性非常重要。為了防止未經(jīng)授權(quán)的用戶訪問您的文件,可以設(shè)置文件和目錄的權(quán)限位,您還可以設(shè)置文件創(chuàng)建時的默認(rèn)權(quán)限。
實現(xiàn)文件或目錄的共享方法多種多樣。比如通過網(wǎng)絡(luò)共享、通過副本共享、組成員使用同一用戶名登錄共享、通過對共享文件設(shè)置適當(dāng)權(quán)限實現(xiàn)共享、為團(tuán)隊中的成員建立一 個用戶組進(jìn)行共享,以及通過連接共享等多種方法,所有這些方法都可以在Linux系統(tǒng)中 實現(xiàn)文件和目錄共享。Linux支持兩類鏈接: 硬鏈接(hard link)和軟(符號)鏈接(soft/symbolic link)。它們都可以用In命令實現(xiàn)。
在Linux系統(tǒng)中,系統(tǒng)管理員為每個使用者創(chuàng)建一個賬號,賬號包括登錄名和密碼; 所有的登錄名都是公共可知的,以明文的形式保存在/etc/passwd文件中,而密碼則只有相應(yīng)的用戶自己才知道,這樣就保證用戶不能訪問其他用戶的文件。在創(chuàng)建賬號時,Linux 系統(tǒng)管理員也為每個用戶設(shè)置群組。一個用戶可以屬于多個群組,所有的群組和它的成員都在/etc/group的文件中。
Linux系統(tǒng)有一個特殊的用戶,可以訪問系統(tǒng)中所有的文件,而不論這個文件的訪問權(quán)限是什么。這個用戶通常被稱作是超級用戶(或root用戶),是計算機系統(tǒng)的管理者,通常計算機系統(tǒng)管理員才擁有這個特殊賬號。在Linux系統(tǒng)中,超級用戶的用戶名是root,用 戶ID是0。
在Linux系統(tǒng)中,文件有三種訪問權(quán)限:讀read(r)、寫write(w)和執(zhí)行execute(x)。
對于文件:
r:讀權(quán)限允許你讀某個文件。
w:寫權(quán)限允許你修改或刪除某個文件。
x:執(zhí)行權(quán)限允許你執(zhí)行某個文件,執(zhí)行權(quán)限只對可執(zhí)行文件起作用,比如可執(zhí)行的 二進(jìn)制文件或者是腳本文件,對其他格式的文件,執(zhí)行許可沒有任何作用。
對于目錄:
r:讀權(quán)限允許你可以讀出這個目錄的內(nèi)容,即可以使用Is命令來列出這個目錄下的 所有內(nèi)容。
w:寫權(quán)限表明你可以在這個目錄下建立、刪除和修改文件。
X:執(zhí)行權(quán)限是你可以搜索這個目錄。因此,如果你沒有對目錄的執(zhí)行權(quán)限,那么就 不能使用ls -l命令來列出目錄下的內(nèi)容或者使用cd命令來把該目錄變成當(dāng)前目錄。
Linux的文件用戶分為文件的所有者(user)、群組(group)和其他人(others)這三種類型。 三種用戶和三種訪問權(quán)限,Linux文件就有9種不同的訪問權(quán)限組合,
用戶類型 訪問特權(quán)類型
讀(r) 寫(w) 執(zhí)行(X)
User(u) X X X
Group(g) X X X
Others(o) X X X
X的值可以是1 (即允許該操作)或者是0 (即禁止該操作)。因此可以用1位(bit) 來表示每一種權(quán)限,用3個位來表示該類用戶的文件存取權(quán)限,因此每一類的文件用戶可以有8種可能的操作權(quán)限。這3位二進(jìn)制數(shù)的值可以用八進(jìn)制數(shù)0—7來表示,如下所示;0表示沒有任何說問特權(quán),7表示擁有所有的特權(quán)。
r w X 八進(jìn)制值 含義
0 0 0 0 沒有任何訪問特權(quán)
0 0 1 1 只允許執(zhí)行
0 1 0 2 只允許寫
0 1 1 3 允許寫和執(zhí)行
1 0 0 4 只允許讀
1 0 1 5 允許讀和執(zhí)行
1 1 0 6 允許讀、寫
1 1 1 7 允許讀、寫和執(zhí)行
總共9位用于指示三種類型的權(quán)限,允許三種類型的用戶訪問文件。 第一個八進(jìn)制表示文件所有者對文件的權(quán)限,第二個八進(jìn)制表示對文件的組權(quán)限,第三個八進(jìn)制表示其他用戶對文件的權(quán)限。