梁霞 梁忠艷 劉淑英
摘 要:Linux操作系統(tǒng)中,文件或目錄(以下通稱文件)被賦予的訪問權(quán)限與約定權(quán)限和權(quán)限掩碼(umask值)有關(guān),訪問權(quán)限是約定權(quán)限與權(quán)限掩碼計(jì)算的結(jié)果,本文通過實(shí)例,闡述文件的訪問權(quán)限與約定權(quán)限和權(quán)限掩碼關(guān)系。
關(guān)鍵詞:訪問權(quán)限;約定權(quán)限;權(quán)限掩碼
1 前言
Linux是應(yīng)用廣泛的多用戶操作系統(tǒng),從系統(tǒng)的安全性考慮,Linux通過給文件賦予所有者和訪問權(quán)限,實(shí)現(xiàn)對(duì)文件的安全管理。本文針對(duì)Linux中文件的訪問權(quán)限、約定權(quán)限、權(quán)限掩碼含義及計(jì)算方法展開討論,闡述訪問權(quán)限的設(shè)置方法,明晰文件的約定權(quán)限、權(quán)限掩碼和訪問權(quán)限的關(guān)系。
2 文件訪問權(quán)限及設(shè)置方法
文件訪問權(quán)限是指文件所有者u(user)、文件所屬組g(group)和其它用戶o(others)對(duì)文件的讀(r)、寫(w)和執(zhí)行(x)權(quán)限,簡稱ugo(user group others )權(quán)限。所有者是對(duì)文件具有所有權(quán)的用戶,所屬組是文件所屬的用戶組,其它用戶是除所有者和所屬組成員以外的用戶。在Linux中,用戶與組密不可妥,因此,Linux按文件所有者、文件所屬組和其它用戶來設(shè)定文件的訪問權(quán)限。
在Linux中,文件的訪問權(quán)限由10個(gè)字符組成,第1個(gè)字符表示linux系統(tǒng)支持的文件類型,主要包括普通文件(-)、塊設(shè)備文件(b)、命名管道文件(p)、目錄(d)、鏈接文件(l)、字符設(shè)備文件(c)和套接字文件(s)。第2至4個(gè)字符表示文件所有者權(quán)限;第5至7個(gè)字符表示文件所屬組權(quán)限;第8至10個(gè)字符表示其它用戶的權(quán)限。
例如:查看當(dāng)前用戶對(duì)文件file的訪問權(quán)限。
#ls –l file
-rwxrwxr-- 3 root root 2048 3月 12 22:12 file
結(jié)果顯示file是一個(gè)普通文件,文件所有者和文件所屬組對(duì)file有rwx權(quán)限,其它用戶對(duì) file有r權(quán)限。
在實(shí)際應(yīng)用過程中,文件所有者可以使用chmod命令設(shè)置文件的訪問權(quán)限, Chmod命令有兩種方式:一種是字符方式,另一種是數(shù)字方式,所謂數(shù)字方式是指將rwx權(quán)限分別用4、2、1表示,沒有授予權(quán)限用0表示,然后把所授予的權(quán)限對(duì)應(yīng)的數(shù)字相加,形成3位八進(jìn)制數(shù)的組合來表示文件的訪問權(quán)限。
字符方式的基本語法:chmod [ugoa] +|-|= [rwx] 文件|目錄
參數(shù)說明: +|-:是在原有權(quán)限設(shè)置的基礎(chǔ)上,增加或取消權(quán)限;
=:是賦予文件或目錄新的權(quán)限;
u表示文件的所有者;
g表示文件所屬組;
o表示其它用戶;
a表示全部用戶;
數(shù)字方式的基本語法:chmod nnn 文件|目錄
參數(shù)說明:
三個(gè)n分別代表文件擁有者、文件所屬組和其它用戶對(duì)文件的權(quán)限,n的取值要么是0(無權(quán)限),要么是賦予了相應(yīng)權(quán)限所對(duì)應(yīng)的數(shù)值累加和。
例如:設(shè)置文件file1的訪問權(quán)限,使文件所有者(u)和文件所屬組(g)對(duì)file2有 rwx(7)權(quán)限,其它用戶(o)對(duì)file2有 r (4)權(quán)限
字符方式設(shè)置訪問權(quán)限:# chmod ug=rwx,o=r file1
數(shù)字方式設(shè)置訪問權(quán)限:#chmod 774 file1
3 文件訪問權(quán)限、約定權(quán)限、權(quán)限掩碼的關(guān)系
在LINUX中,root用戶登錄系統(tǒng),建立文件和目錄的訪問權(quán)限分別為644和755;普通用戶登錄,建立文件和目錄的訪問權(quán)限分別為664和775,兩類用戶建立的文件和目錄訪問權(quán)限不同,與LINUX的權(quán)限掩碼有關(guān)。
為了提高文件系統(tǒng)的安全性,方便用戶權(quán)限設(shè)置,Linux設(shè)置了權(quán)限掩碼(umask值),root用戶和普通用戶登錄系統(tǒng),權(quán)限掩碼默認(rèn)分別為022和002,在終端上輸入umask命令可查看系統(tǒng)當(dāng)前的權(quán)限掩碼。在不考慮權(quán)限掩碼的情況下,Linux約定,新建文件和目錄的權(quán)限為666和777,我們稱為之為約定權(quán)限。在系統(tǒng)給定權(quán)限掩碼的情況下,新建文件和目錄的訪問權(quán)限為:文件和目錄的約定權(quán)限666(777)與權(quán)限掩碼值取反后作邏輯與運(yùn)算,得到文件和目錄的訪問權(quán)限。
4 結(jié)束語
LINUX中文件的訪問權(quán)限,是通過系統(tǒng)給定的文件約定權(quán)限與權(quán)限掩碼取反后作邏輯與運(yùn)算生成的,而不是二者簡單的相減。通過權(quán)限掩碼,可以方便地為文件賦予訪問權(quán)限,從而方便用戶對(duì)文件系統(tǒng)的維護(hù),提高了文件系統(tǒng)的安全性。
[參考文獻(xiàn)]
[1]潘志安.Linux操作系統(tǒng)應(yīng)用.高等教育出版社,,2010.12,ISBN:978-7-04-027800-2.
[2]劉懷亮.Linux網(wǎng)絡(luò)管理員.研究出版社,2008.06,ISBN:978-7-80168-360-1.