12年老牌互聯(lián)網(wǎng)IT解決方案提供商
騰佑科技咨詢熱線咨詢熱線: 400-996-8756
工單提交 注冊/登錄
百度云服務中心騰佑科技公司
云服務器活動 服務器租用 服務器托管 機柜租賃 帶寬租賃
  • 最新資訊
  • 熱門資訊
  • 最熱資訊
智能建站

解析Linux中的文件基本權限

發(fā)布時間:2013-07-03 17:39 作者:admin

簡述:

1、文件的權限
1.1 文件的基本權限
rwx分別對應文件的讀權限、寫權限和可執(zhí)行權限,然而,對于目錄來說,這三種權限有不同的含義。目錄的讀權限允許讀取目錄中文件和子目錄的列表,目錄的寫權限允許在目錄中創(chuàng)建或刪除文件或目錄,目錄的可執(zhí)行權限指明是否可以訪問目錄中的文件和子目錄。
1.2 setuid、setgid和sticky bit
實際上,除了最基本的讀、寫和執(zhí)行權限之外,Linux中還有setuid、setgid和sticky bit等三種權限。下面分別解釋這三種權限。
1.2.1 setuid權限
setuid可以設置使文件在執(zhí)行階段具有文件所有者的權限。setuid屬性出往往用用戶權限的第三個字符表示:如果用戶權限的第三個字符是s,則表示該文件的屬主對該文件有可執(zhí)行權限的同時,該文件還有setuid權限;如果用戶權限的第三個字符是S,則表示該文件的屬主對該文件沒有可執(zhí)行權限,但是該文件有setuid權限(實際上,從下文也可一看出,這種情況,沒有可執(zhí)行權限只有setuid權限無任何意義)。setuid權限允許用戶以其文件擁有者的權限來執(zhí)行可執(zhí)行文件,即使這個可執(zhí)行文件是由其他用戶運行的。從下面的例子中可以看出setuid權限的意思。
Linux中的密碼通常是保存在"/etc/paswd"和"/etc/shadow"文件中,這兩個文件對系統(tǒng)安全至關重要,因此只有Root用戶才能對其執(zhí)行讀寫操作。以管理員的身份登陸系統(tǒng),在Linux提示符下執(zhí)行"ls /etc/passwd /etc/shadow"命令,在返回信息中可以看到普通用戶對上述這兩個文件并沒有寫權限,因此從文件屬性的角度看,普通用戶在更改自身密碼時,是無法將密碼信息寫入到上述文件中的,哪么用戶是怎樣成功的更改密碼的呢?實際上,問題的關鍵不在于密碼文件本身,而在于密碼更改命令"passwd"。在提示符下執(zhí)行命令"ls /usr/bin/passwd",在返回信息中的文件所有者執(zhí)行權限位上顯示"s"字樣,表示"passwd"命令具setuid權限,其所有者為root,這樣普通用戶在執(zhí)行"passwd"命令時,實際上以有效用戶root的身份來執(zhí)行的,并具有了相應的權限(包括讀寫passwd和shadow文件的權限),從而將新的密碼寫入到"/etc/passwd"和"/etc/shadow"文件中,當命令執(zhí)行完畢,該用戶的身份立即消失。這樣,通過setuid權限,普通用戶在執(zhí)行passwd程序時,也能獲得passwd程序屬主(root)一樣的權限(也可以對文件passwd和shadow進行讀寫)。這樣,普通用戶也可以通過passwd工具來修改自身密碼。
1.2.2 setgid權限
setgid權限的含義和setuid類似,它允許用戶以其擁有者所在的組的權限來執(zhí)行可執(zhí)行文件。setgid屬性往往用用戶組權限的第三個字符表示:如果用戶權限的第三個字符是s,則表示該文件的屬主對該文件有可執(zhí)行權限的同時,該文件還有setgid權限;如果用戶組權限的第三個字符是S,則表示該文件的屬主對該文件沒有可執(zhí)行權限,但是該文件有setgid權限(實際上,從下文也可一看出,這種情況,沒有可執(zhí)行權限只有setuid權限無任何意義)。setgid權限允許用戶以其文件擁有者所在組的權限來執(zhí)行可執(zhí)行文件,即使這個可執(zhí)行文件是由其他用戶運行的。
1.2.3 sticky bit
sticky-bit之后,盡管其他用戶有寫權限, 也必須由屬主執(zhí)行刪除、移動等操作。對一個目錄設置了sticky-bit之后,存放在該目錄的文件僅準許其屬主執(zhí)行刪除、 移動等操作。
sticky bit出現(xiàn)在其他用戶權限中的執(zhí)行權限(x)位置,使用t或T表示。t表示既有可執(zhí)行權限,又設置了sticky bit,T表示只設置了sticky bit而沒有設置可執(zhí)行權限。
2、管理文件權限
2.1 設置基本權限
2.1.1 用助記符的方式設置文件基本權限
可以采用"chmod u=rwx g=rw o=r filename"來設置文件的權限。其中u代表用戶的權限,g代表用戶所帶組的權限,o代表其它用戶的權限。如果要添加權限可以"chmod a+x filename"(給所有的用戶添加可執(zhí)行權限),"chmod o+x filename"給其他用戶增加可執(zhí)行權限。如果要刪除相應的權限,可以"chmod a-x filename"(刪除所有用戶的可執(zhí)行權限)。
2.1.2 用八進制數(shù)的方式設置文件的基本權限
也可以采用八進制數(shù)的形式。讀、寫和執(zhí)行權限都有與之對應的唯一的8進制數(shù):r(4),w(2),x(1)。我們可以將權限序列的八進制值相加來獲得所需的權限組合:rwx(4+2+1=7),rw-(4+2=6),r-x(4+1=5)等。因此,用8進制設置權限的命令為"chmod 765 filename"。
2.2 設置setuid,setgid和sticky bit
2.2.1 用助記符的方式
chmod u +s temp -- 為temp文件加上setuid標志
chmod g +s tempdir -- 為tempdir目錄加上setgid標志
chmod o +t temp -- 為temp文件加上sticky標志
2.2.2 采用八進制方式
對一般文件通過三組八進制數(shù)字來置標志, 如 666, 777, 644等. 如果設置這些特殊標志, 則在這組數(shù)字之外外加一組八進制數(shù)字. 如 4666, 2777等. 這一組八進制數(shù)字三位的意義如下:
abc
a - setuid位, 如果該位為1, 則表示設置setuid 4xxx
b - setgid位, 如果該位為1, 則表示設置setgid 2xxx
c - sticky位, 如果該位為1, 則表示設置sticky 1xxx
設置完這些標志后, 可以用 ls -l 來查看. 如果有這些標志, 則會在原來的執(zhí)行標志位置上顯示. 如
rwsrw-r-- 表示有setuid標志
rwxrwsrw- 表示有setgid標志
rwxrw-rwt 表示有sticky標志
對于setuid,setgid和sticky bit,如果表示這寫權限的位上本來有x, 則這些特殊標志顯示為小寫字母 (s, s, t);若無執(zhí)行權限則顯示為大寫字母(S, S, T)。
3、其它
文件的權限是為了使用的安全性和方便性而設置的,了解這寫權限的含義能是我們更加方便的使用Linux,防制由于文件權限管理不善而帶來的安全問題。實際上,在設置文件的權限時,應該慎重考慮,尤其是在使用setuid、setgid和sticky bit等權限的時候。
騰佑科技是一家互聯(lián)網(wǎng)業(yè)務平臺服務提供商,是知識和技術密集型的高新技術企業(yè).公司主要向客戶提供內(nèi)容分發(fā)與加速、服務器托管、服務器租用等互聯(lián)網(wǎng)業(yè)務平臺解決方案,是國內(nèi)最早開展IDC和CDN業(yè)務的廠商之一。
騰佑科技作為國內(nèi)頂級互聯(lián)網(wǎng)基礎應用服務提供商,有自己的自主機房和產(chǎn)權,擁有雙線服務器,擁有大型的機房三座,順應時代發(fā)展和客戶需求,在服務器托管服務器租用方面,具備多項優(yōu)勢,特別適用于對網(wǎng)站運行質量有較高要求的用戶。而且有自己成熟的虛擬化技術,推出了綠谷云云主機平臺,經(jīng)過一部分客戶的試用,贏得了一致好評。歡迎廣大客戶前來選購。
m.mubashirfilms.com提供
點擊展開全文

騰佑科技(m.mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎設施及軟硬件于一體化的高新技術企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質,并擁有多個國家版權局認證。公司自成立以來,一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開發(fā)等產(chǎn)品服務及行業(yè)客戶技術一體化智能解決方案;2018年成為百度智能云AI河南服務中心。

售前咨詢熱線:400-996-8756

備案提交:0371-89913068

售后客服:0371-89913000

熱門活動

百度云服務中心
  • 熱門資訊
  • 隨便看看