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