摘 要:本文針對Linux中文件權(quán)限設(shè)置問題,介紹了如何在Linux系統(tǒng)中采用文字設(shè)定法和數(shù)字設(shè)定法對系統(tǒng)中的文件進(jìn)行權(quán)限設(shè)置,通過控制文件權(quán)限提高了文件系統(tǒng)的安全性。
關(guān)鍵詞:Linux系統(tǒng);權(quán)限管理
1 Linux文件權(quán)限簡介
Linux是一個(gè)多用戶和多多任務(wù)的操作系統(tǒng),在Linux系統(tǒng)中信息都存放在文件中,系統(tǒng)里運(yùn)行的程序都以文件的形式存儲(chǔ)。不同的用戶為了不同的目的使用操作系統(tǒng)是通過系統(tǒng)賦予用戶對某個(gè)文件的特定權(quán)限來實(shí)現(xiàn)的。
Linux系統(tǒng)中文件或目錄的訪問權(quán)限分為讀權(quán)限,寫權(quán)限和可執(zhí)行權(quán)限三種,分別用r、w和x表示。用戶具有讀權(quán)限可以使用cat、more等文件查看程序讀取文件的內(nèi)容,這種方式僅僅是讀取,不能對文件進(jìn)行修改;用戶具有寫權(quán)限可以在目錄中創(chuàng)建新的文件或者修改已有的文件;用戶具有執(zhí)行權(quán)限可以執(zhí)行一些可執(zhí)行程序。在linux系統(tǒng)中,有三種不同類型的用戶可對對文件或者目錄擁有不同的權(quán)限,這三類用戶是文件所有者,同組用戶、其他用戶。
用戶可以通過ls-l命令查看系統(tǒng)中目錄或者文件的權(quán)限信息,運(yùn)行結(jié)果如下所示:
drwxr-xr-x 12 root root 13720 2007-07-20 23:55 dev
上述結(jié)果中第一列數(shù)據(jù)表示了文件或者目錄的類型和權(quán)限信息,其中第一位字符表示了該文件的類型;第二位到第十位字符表示了該文件所對應(yīng)的系統(tǒng)中三類用戶所具有的權(quán)限信息,其中第二到四位表示該文件的所有者對該文件所具有的權(quán)限;第五到七位表示同組用戶對該文件所具有的權(quán)限;第八到十位表示了系統(tǒng)中除了前兩類用戶以外的其他用戶對該文件所具有的權(quán)限。這三組信息依次由r、w、x或者-組成,如果在某個(gè)位置上的字符是-,說明此類用戶沒有該位置上的某個(gè)權(quán)限。例如:rwx表示該用戶具有讀、寫、執(zhí)行的權(quán)限;r-x表示該用戶具有讀、執(zhí)行權(quán)限,而沒有寫權(quán)限。
2 Linux文件權(quán)限設(shè)置
確定了某個(gè)文件或者目錄的訪問權(quán)限以后,用戶可以使用linux系統(tǒng)提供的chmod命令來重新設(shè)置文件或者目錄的訪問權(quán)限,達(dá)到控制不同用戶對文件的不同的訪問權(quán)限。該命令有兩種用法。一是包含字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。
2.1 文字設(shè)定法
利用chmod設(shè)置文件權(quán)限的文字設(shè)定法的語法格式如下:
chmod [who] [+|-|=] [mode] 文件名列表
選項(xiàng)Who的取值以及含義:u表示“屬主(user)”,即文件或者目錄的所有者;g表示“所屬組(group)”里的用戶,即組名或者組ID與文件中的組名或者組ID相同的用戶;o表示既不屬于屬主(user),也不屬于group的其他用戶;a表示“所有(all)”用戶。它是系統(tǒng)默認(rèn)值。選項(xiàng)中“+”表示添加某個(gè)權(quán)限;“-”表示取消某個(gè)權(quán)限;“=”表示賦予某個(gè)權(quán)限,并取消原有的權(quán)限。Mode選項(xiàng)取值和含義:r表示可讀權(quán)限;w表示可寫權(quán)限;x表示可執(zhí)行權(quán)限。命令中可以給出多種權(quán)限方式中間用逗號隔開。
應(yīng)用實(shí)例1:為同組用戶添加對文件a.txt的執(zhí)行權(quán)限
Chmod g+x a.txt
應(yīng)用實(shí)例2:取消其他用戶對文件a.txt的寫權(quán)限
Chmod o-w a.txt
應(yīng)用實(shí)例3:重新賦予文件所有者對文件a.txt權(quán)限為讀權(quán)限和寫權(quán)限
Chmod u=rw a.txt
應(yīng)用實(shí)例4:為同組用戶和其他用戶添加對文件a.txt的寫權(quán)限
Chmod g+w,o+w a.txt
應(yīng)用實(shí)例5:取消同組用戶對文件a.txt的寫權(quán)限并添加其他用戶對文件a.txt的寫權(quán)限
Chmod g-w,o+w a.txt
2.2 數(shù)字設(shè)定法
數(shù)字設(shè)定法是與文字設(shè)定法功能等價(jià)的設(shè)定方法,只不過比文字設(shè)定法更加簡潔。數(shù)字設(shè)定法用3個(gè)二進(jìn)制位來表示文件權(quán)限。第一位表示r權(quán)限(可讀),第二位表示w權(quán)限(可寫),也可以直接用十進(jìn)制數(shù)計(jì)算。0表示沒有權(quán)限,1表示x權(quán)限,2表示w權(quán)限,4表示r權(quán)限,然后將其相加。所以數(shù)字屬性的格式應(yīng)為3個(gè)從0到7的八進(jìn)制數(shù),其順序是(u)、(g)、(o)。其他的與文字設(shè)定法基本一致。
語法格式為:
chmod [mode] filename,
其中mode由XXX三位數(shù)字組成,第一位的數(shù)字表示所有者的權(quán)限,第二位數(shù)字表示同組用戶的權(quán)限,第三位數(shù)字表示其他用戶的權(quán)限,filename為設(shè)定權(quán)限的文件名稱。
應(yīng)用實(shí)例6:設(shè)置a.txt的文件權(quán)限使所有者具有讀、寫、執(zhí)行權(quán)限;同組用戶具有讀、寫權(quán)限;其他用戶具有讀、執(zhí)行權(quán)限
分析:讀權(quán)限用4表示,寫權(quán)限用2表示,執(zhí)行權(quán)限用1表示;所有者具有讀、寫、執(zhí)行權(quán)限,因此權(quán)限所代表的數(shù)字相加為4+2+1=7;同理同組用戶權(quán)限為6,其他用戶權(quán)限為5,綜上所述,字符數(shù)字設(shè)定法中的mode的應(yīng)設(shè)置為765。
Chmod 765 a.txt
[參考文獻(xiàn)]
[1]劉海濤,等.Linux中文件權(quán)限管理的探討[J].微型計(jì)算機(jī)信息,2006(3).
[2]何明,等.Linux培訓(xùn)教程[M].清華大學(xué)出版社,2010.01.
[3]賀惠萍,等.應(yīng)用程序用戶權(quán)限機(jī)制研究[J].微計(jì)算機(jī)信息,2005,9:19-21.
[4]羅琰,等.Linux環(huán)境下訪問控制列表機(jī)制的設(shè)計(jì)與實(shí)現(xiàn).解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2004.6.
[5]陳旭,等.Linux系統(tǒng)網(wǎng)絡(luò)安全問題分析及對策[J].合肥工業(yè)大學(xué)學(xué)報(bào),2002,5(3).
[6]張喜英.在網(wǎng)絡(luò)系統(tǒng)中Linux的安全設(shè)置與管理[J].網(wǎng)絡(luò)通訊與安全,2007.