亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

linux文件特殊屬性介紹(s,s,t)

系統(tǒng) 2192 0

文件的權(quán)限有rwx這3個讀、寫、執(zhí)行的權(quán)限。但是,怎么 /tmp權(quán)限有些奇怪?還有, /usr/bin/passwd也有些奇怪,怎么回事呢?



不是只有rwx嗎?為什么還有其他的特殊權(quán)限呢?不要擔心,我們這里先不談這兩個權(quán)限,只是先介紹一下而已。因為必須要有賬號的ID概念,以及程序的進程(process)概念后,才能夠進一步了解這些特殊權(quán)限所表示的意義。

 Set UID

會創(chuàng)建s與t權(quán)限,是為了讓一般用戶在執(zhí)行某些程序的時候,能夠暫時具有該程序擁有者的權(quán)限。舉例來說,我們知道,賬號與密碼的存放文件其實是 /etc/passwd與 /etc/shadow.而 /etc/shadow文件的權(quán)限是“-r- - - - - - - - ”。它的擁有者是root.在這個權(quán)限中,僅有root可以“強制” 存儲 ,其他人是連看都不行的。

但是,偏偏筆者使用dmtsai這個一般身份用戶去更新自己的密碼時,使用的就是 /usr/bin/passwd程序,卻可以更新自己的密碼。也就是說,dmtsai這個一般身份用戶可以存取 /etc/shadow密碼文件。這怎么可能?明明 /etc/shadow就是沒有dmtsai可存取的權(quán)限。這就是因為有s權(quán)限的幫助。當s權(quán)限在user的x時,也就是類似 -r - s - - x - - x,稱為Set UID,簡稱為SUID,這個UID表示User的ID,而User表示這個程序(/usr/bin/passwd)的擁有者(root)。那么,我們就 可以知道,當dmtsai用戶執(zhí)行 /usr/bin/passwd時,它就會“暫時”得到文件擁有者root的權(quán)限。

SUID僅 可用在“二進制文件(binary file)”,SUID因為是程序在執(zhí)行過程中擁有文件擁有者的權(quán)限,因此,它僅可用于二進制文件,不能用在批處理文件(shell腳本)上。這是因為 shell腳本只是將很多二進制執(zhí)行文件調(diào)進來執(zhí)行而已。所以SUID的權(quán)限部分,還是要看shell腳本調(diào)用進來的程序設置,而不是shell腳本本 身。當然,SUID對目錄是無效的。這點要特別注意。

 Set GID

進一步而言,如果s的權(quán)限是在用戶組,那么就是Set GID,簡稱為SGID.SGID可以用在兩個方面。

文件:如果SGID設置在二進制文件上,則不論用戶是誰,在執(zhí)行該程序的時候,它的有效用戶組(effective group)將會變成該程序的用戶組所有者(group id)。

目錄:如果SGID是設置在A目錄上,則在該A目錄內(nèi)所建立的文件或目錄的用戶組,將會是此A目錄的用戶組。

一般來說,SGID多用在特定的多人團隊的項目開發(fā)上,在系統(tǒng)中用得較少。

 Sticky Bit

這個Sticky Bit當前只針對目錄有效,對文件沒有效果。SBit對目錄的作用是:“在具有SBit的目錄下,用戶若在該目錄下具有w及x權(quán)限,則當用戶在該目錄下建 立文件或目錄時,只有文件擁有者與root才有權(quán)力刪除”。換句話說:當甲用戶在A目錄下?lián)碛術(shù)roup或other的項目,且擁有w權(quán)限,這表示甲用戶 對該目錄內(nèi)任何人建立的目錄或文件均可進行“刪除/重命名/移動”等操作。不過,如果將A目錄加上了Sticky bit的權(quán)限,則甲只能夠針對自己建立的文件或目錄進行刪除/重命名/移動等操作。

舉例來說,/tmp本身的權(quán)限是“drwxrwxrwt”,在這樣的權(quán)限內(nèi)容下,任何人都可以在 /tmp內(nèi)新增、修改文件,但僅有該文件/目錄的建立者與root能夠刪除自己的目錄或文件。這個特性也很重要。可以這樣做個簡單 測試

1. 以root登入系統(tǒng),并且進入 /tmp中。

2. touch test,并且更改test權(quán)限成為777.

3. 以一般用戶登入,并進入 /tmp.

4. 嘗試刪除test文件。

更多關于SUID/SGID/Sticky Bit的介紹,我們會在第11章中再次提及,當前,先有簡單的概念即可。

SUID/SGID/SBIT權(quán)限設置

前面介紹過SUID與SGID的功能,那么,如何打開文件使其成為具有SUID與SGID的權(quán)限呢?這就需要使用數(shù)字更改權(quán)限了?,F(xiàn)在應該知道,使用數(shù) 字更改權(quán)限的方式為“3個數(shù)字”的組合,那么,如果在這3個數(shù)字之前再加上一個數(shù)字,最前面的數(shù)字就表示這幾個屬性了(注:通常我們使用chmod xyz filename的方式來設置filename的屬性時,則是假設沒有SUID、SGID及Sticky bit)。

4為SUID

2為SGID

1為Sticky bit

假設要將一個文件屬性改為“-rwsr-xr-x”,由于s在用戶權(quán)限中,所以是SUID,因此,在原先的755之前還要加上4,也就是使用 “chmod 4755 filename”來設置。此外,還有大S與大T的產(chǎn)生。參考下面的范例(注意:下面的范例只是練習而已,所以筆者使用同一個文件來設置,必須知 道,SUID不是用在目錄上,SBIT不是用在文件上)。

?



# 這個例子要特別小心。怎么會出現(xiàn)大寫的S與T呢?不都是小寫的嗎?

# 因為s與t都是取代x參數(shù)的,但是,我們是使用

# 7666.也就是說,user、group以及others都沒有x這個可執(zhí)行的標志

# (因為666)。所以,S、T表示“空的”。

# SUID是表示“該文件在執(zhí)行時,具有文件擁有者的權(quán)限”,但文件

# 擁有者都無法執(zhí)行了,哪里來的權(quán)限給其他人使用呢?當然就是空的

文件隱藏屬性

文件有隱藏屬性,隱藏屬性對系統(tǒng)有很大的幫助。尤其是在系統(tǒng) 安全 (Security)方面,非常重要。下面我們就來談一談如何設置與檢查這些隱藏的屬性。

chattr(設置文件隱藏屬性)

[root@linux ~]# chattr [+-=][ASacdistu] 文件或目錄名

參數(shù):

+ : 增加某個特殊參數(shù),其他原本存在的參數(shù)不動。

- : 刪除某個特殊參數(shù),其他原本存在的參數(shù)不動。

= : 設置一定,且僅有后面接的參數(shù)

A : 當設置了A屬性時,這個文件(或目錄)的存取時間atime(access)將不可被修改,可避免例如手提電腦有磁盤I/O錯誤的情況發(fā)生。

S : 這個功能有點類似sync.就是將數(shù)據(jù)同步寫入磁盤中??梢杂行У乇苊鈹?shù)據(jù)流失。

a : 設置a之后,這個文件將只能增加數(shù)據(jù),而不能刪除,只有root才能設置這個屬性。

c : 這個屬性設置之后,將會自動將此文件“壓縮”,在讀取的時候?qū)詣咏鈮嚎s,但在 存儲 的時候,將會先進行壓縮后再存儲(對于大文件有用)。

d : 當執(zhí)行dump(備份)程序的時候,設置d屬性將可使該文件(或目錄)具有轉(zhuǎn)儲功效。

i : i的作用很大。它可以讓一個文件“不能被刪除、改名、設置連接,也無法寫入或新增數(shù)據(jù)”。對于系統(tǒng) 安全 性有相當大的幫助。

j : 當使用ext3文件系統(tǒng)格式時,設置j屬性將會使文件在寫入時先記錄在journal中。但是,當文件系統(tǒng)設置參數(shù)為data=journalled時,由于已經(jīng)設置日志了,所以這個屬性無效。

s : 當文件設置了s參數(shù)時,它將會從這個硬盤空間完全刪除。

u : 與s相反,當使用u來設置文件時,則數(shù)據(jù)內(nèi)容其實還存在磁盤中,可以用來還原刪除。

注意:這個屬性設置上,比較常見的是a與i的設置值,而且很多設置值必須要root才能設置。

范例:



# 看到了嗎?連root也沒有辦法刪除這個文件。趕緊解除設置。

[root@linux tmp]# chattr -i attrtest

這個命令很重要,尤其是在系統(tǒng)的安全性方面。由于這些屬性是隱藏的,所以需要用lsattr才能看到。筆者認為,最重要的是 +i屬性,因為它可以讓一個文件無法被更改,對于需要很高系統(tǒng)安全性的人來說,相當重要。還有相當多的屬性是需要root才能設置的。此外,如果是登錄文 件,就更需要 +a參數(shù),使之可以增加但不能修改與刪除原有的數(shù)據(jù)。將來提到登錄文件時,我們再來介紹如何設置它。

lsattr(顯示文件的隱藏屬性)

[root@linux ~]# lsattr [-aR] 文件或目錄

參數(shù):

-a : 將隱藏文件的屬性也顯示出來。

-R : 連同子目錄的數(shù)據(jù)也一并列出來。

范例:

[root@linux tmp]# chattr +aij attrtest

[root@linux tmp]# lsattr

----ia---j--- ./attrtest

使用chattr設置后,可以利用lsattr來查看隱藏屬性。不過,這兩個命令在使用上必須要特別小心,否則會造成很大的困擾。例如,某天你心情好, 突然將 /etc/shadow這個重要的密碼記錄文件設置為具有i屬性,那么,過了若干天之后,突然要新增用戶,卻一直無法新增。怎么辦?將i的屬性去掉即可

轉(zhuǎn)自: http://hi.baidu.com/hevensun/item/b01a3c0cbfdc5e11acdc7068

linux文件特殊屬性介紹(s,s,t)


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品久久久久久中文字幕网 | 欧美激情精品久久久久久大尺度 | 国产99视频精品免费视频免里 | 日韩欧美一级毛片精品6 | 免费观看美女光子让男人玩 | 久久精品国产三级不卡 | 国内精品久久久久鸭 | 免费a级毛片在线播放 | 亚洲欧美日本一区 | 中文字幕91| 久久精品动漫 | 久久久这里有精品999 | 日日夜夜精品视频 | 国产视频精品视频 | 国产在线观看91精品不卡 | 国模极品一区二区三区 | 免费一级毛片不卡不收费 | www.黄色一片 | 国产成人成人一区二区 | 特级毛片免费视频观看 | 欧美一级毛片免费播放器 | 最近中文字幕无吗高清视频 | 久热这里只有精品视频6 | 免费观看日本污污ww网站精选 | 深夜福利国产福利视频 | s8国产成人精品视频 | 中文字幕第一页国产 | 欧美一区二区高清 | 好好的曰com久久 | 四虎国产精品永久免费网址 | 久久99精品国产麻豆宅宅 | 天天插天天操 | 美女一级a毛片免费观看 | 国产九九免费视频 | 青青久草在线 | 国产精品久久久久久免费播放 | 91亚洲精品久久91综合 | 久久精品中文字幕久久 | 久久精品三级视频 | 国产欧美高清 | 一级香蕉视频在线观看 |