久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

linux 文件與目錄的隱藏權(quán)限與默認(rèn)權(quán)限

 X的世界 2012-10-14
文件與目錄的默認(rèn)權(quán)限與隱藏權(quán)限

第六章,、Linux文件權(quán)限的內(nèi)容我們可以知道一個文件有若干個屬性, 包括讀寫運(yùn)行(r, w, x)等基本權(quán)限,,及是否為目錄 (d) 與文件 (-) 或者是連結(jié)檔 (l) 等等的屬性! 要修改屬性的方法在前面也約略提過了(chgrpchownchmod) ,,本小節(jié)會再加強(qiáng)補(bǔ)充一下,!

除了基本r, w, x權(quán)限外,在Linux的Ext2/Ext3文件系統(tǒng)下,,我們還可以配置其他的系統(tǒng)隱藏屬性,, 這部份可使用 chattr 來配置,而以 lsattr 來查看,,最重要的屬性就是可以配置其不可修改的特性,!讓連文件的擁有者都不能進(jìn)行修改,! 這個屬性可是相當(dāng)重要的,尤其是在安全機(jī)制上面 (security),!

首先,,先來復(fù)習(xí)一下上一章談到的權(quán)限概念,將底下的例題看一看先:

例題:
你的系統(tǒng)有個一般身份使用者 dmtsai,,他的群組屬於 users,,他的家目錄在 /home/dmtsai, 你是root,,你想將你的 ~/.bashrc 復(fù)制給他,,可以怎么作?
答:
由上一章的權(quán)限概念我們可以知道 root 雖然可以將這個文件復(fù)制給 dmtsai,,不過這個文件在 dmtsai 的家目錄中卻可能讓 dmtsai 沒有辦法讀寫(因為該文件屬於 root 的嘛,!而 dmtsai 又不能使用 chown 之故),。 此外,,我們又擔(dān)心覆蓋掉 dmtsai 自己的 .bashrc 配置檔,因此,,我們可以進(jìn)行如下的動作喔:
復(fù)制文件: cp ~/.bashrc ~dmtsai/bashrc
修改屬性: chown dmtsai:users ~dmtsai/bashrc

例題:
我想在 /tmp 底下創(chuàng)建一個目錄,,這個目錄名稱為 chapter7_1 ,并且這個目錄擁有者為 dmtsai,, 群組為 users ,,此外,任何人都可以進(jìn)入該目錄瀏覽文件,,不過除了 dmtsai 之外,,其他人都不能修改該目錄下的文件。
答:
因為除了 dmtsai 之外,,其他人不能修改該目錄下的文件,,所以整個目錄的權(quán)限應(yīng)該是 drwxr-xr-x 才對! 因此你應(yīng)該這樣做:
創(chuàng)建目錄: mkdir /tmp/chapter7_1
修改屬性: chown -R dmtsai:users /tmp/chapter7_1
修改權(quán)限: chmod -R 755 /tmp/chapter7_1

在上面這個例題當(dāng)中,,如果你知道 755 那個分?jǐn)?shù)是怎么計算出來的,,那么你應(yīng)該對於權(quán)限有一定程度的概念了。 如果你不知道 755 怎么來的,?那么...趕快回去前一章看看 chmod 那個命令的介紹部分?。∵@部分很重要喔,!你得要先清楚的了解到才行~否則就進(jìn)行不下去羅~ 假設(shè)你對於權(quán)限都認(rèn)識的差不多了,,那么底下我們就要來談一談,『新增一個文件或目錄時,,默認(rèn)的權(quán)限是什么,?』這個議題,!


小標(biāo)題的圖示文件默認(rèn)權(quán)限:umask

OK!那么現(xiàn)在我們知道如何創(chuàng)建或者是改變一個目錄或文件的屬性了,,不過,, 你知道當(dāng)你創(chuàng)建一個新的文件或目錄時,他的默認(rèn)權(quán)限會是什么嗎,?呵呵,!那就與 umask 這個玩意兒有關(guān)了!那么 umask 是在搞什么呢,?基本上,, umask 就是指定 『目前使用者在創(chuàng)建文件或目錄時候的權(quán)限默認(rèn)值』, 那么如何得知或配置 umask 呢,?他的指定條件以底下的方式來指定:

[root@www ~]# umask
0022             <==與一般權(quán)限有關(guān)的是后面三個數(shù)字,!
[root@www ~]# umask -S
u=rwx,g=rx,o=rx

查閱的方式有兩種,一種可以直接輸入 umask ,,就可以看到數(shù)字型態(tài)的權(quán)限配置分?jǐn)?shù),, 一種則是加入 -S (Symbolic) 這個選項,就會以符號類型的方式來顯示出權(quán)限了,! 奇怪的是,,怎么 umask 會有四組數(shù)字啊,?不是只有三組嗎,?是沒錯啦。 第一組是特殊權(quán)限用的,,我們先不要理他,,所以先看后面三組即可。

在默認(rèn)權(quán)限的屬性上,,目錄與文件是不一樣的,。從第六章我們知道 x 權(quán)限對於目錄是非常重要的! 但是一般文件的創(chuàng)建則不應(yīng)該有運(yùn)行的權(quán)限,,因為一般文件通常是用在於數(shù)據(jù)的記錄嘛,!當(dāng)然不需要運(yùn)行的權(quán)限了。 因此,,默認(rèn)的情況如下:

  • 若使用者創(chuàng)建為『文件』則默認(rèn)『沒有可運(yùn)行( x )權(quán)限』,,亦即只有 rw 這兩個項目,也就是最大為 666 分,,默認(rèn)權(quán)限如下:
    -rw-rw-rw-

  • 若使用者創(chuàng)建為『目錄』,,則由於 x 與是否可以進(jìn)入此目錄有關(guān),因此默認(rèn)為所有權(quán)限均開放,亦即為 777 分,,默認(rèn)權(quán)限如下:
    drwxrwxrwx

要注意的是,,umask 的分?jǐn)?shù)指的是『該默認(rèn)值需要減掉的權(quán)限!』因為 r,、w,、x 分別是 4、2,、1 分,,所以羅!也就是說,,當(dāng)要拿掉能寫的權(quán)限,,就是輸入 2 分,而如果要拿掉能讀的權(quán)限,,也就是 4 分,,那么要拿掉讀與寫的權(quán)限,也就是 6 分,,而要拿掉運(yùn)行與寫入的權(quán)限,,也就是 3 分,這樣了解嗎,?請問你,, 5 分是什么,?呵呵,! 就是讀與運(yùn)行的權(quán)限啦!

如果以上面的例子來說明的話,,因為 umask 為 022 ,,所以 user 并沒有被拿掉任何權(quán)限,不過 group 與 others 的權(quán)限被拿掉了 2 (也就是 w 這個權(quán)限),,那么當(dāng)使用者:

  • 創(chuàng)建文件時:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
  • 創(chuàng)建目錄時:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
不相信嗎,?我們就來測試看看吧!
[root@www ~]# umask
0022
[root@www ~]# touch test1
[root@www ~]# mkdir test2
[root@www ~]# ll 
-rw-r--r-- 1 root root     0 Sep 27 00:25 test1
drwxr-xr-x 2 root root  4096 Sep 27 00:25 test2

呵呵,!瞧見了吧,!確定新建文件的權(quán)限是沒有錯的。


  • umask的利用與重要性:專題制作

想像一個狀況,,如果你跟你的同學(xué)在同一部主機(jī)里面工作時,,因為你們兩個正在進(jìn)行同一個專題, 老師也幫你們兩個的賬號創(chuàng)建好了相同群組的狀態(tài),,并且將 /home/class/ 目錄做為你們兩個人的專題目錄,。 想像一下,有沒有可能你所制作的文件你的同學(xué)無法編輯?果真如此的話,,那就傷腦筋了,!

這個問題很常發(fā)生啊,!舉上面的案例來看就好了,,你看一下 test1 的權(quán)限是幾分? 644 呢,!意思是『如果 umask 訂定為 022 ,,那新建的數(shù)據(jù)只有使用者自己具有 w 的權(quán)限, 同群組的人只有 r 這個可讀的權(quán)限而已,,并無法修改喔,!』這樣要怎么共同制作專題啊,!您說是吧,!

所以,當(dāng)我們需要新建文件給同群組的使用者共同編輯時,,那么 umask 的群組就不能拿掉 2 這個 w 的權(quán)限,! 所以羅, umask 就得要是 002 之類的才可以,!這樣新建的文件才能夠是 -rw-rw-r-- 的權(quán)限模樣喔,! 那么如何配置 umask 呢?簡單的很,,直接在 umask 后面輸入 002 就好了,!

[root@www ~]# umask 002
[root@www ~]# touch test3
[root@www ~]# mkdir test4
[root@www ~]# ll 
-rw-rw-r-- 1 root root     0 Sep 27 00:36 test3
drwxrwxr-x 2 root root  4096 Sep 27 00:36 test4

所以說,這個 umask 對於新建文件與目錄的默認(rèn)權(quán)限是很有關(guān)系的,!這個概念可以用在任何服務(wù)器上面,, 尤其是未來在你架設(shè)文件服務(wù)器 (file server) ,舉例來說,, SAMBA Server 或者是 FTP server 時,, 都是很重要的觀念!這牽涉到你的使用者是否能夠?qū)⑽募M(jìn)一步利用的問題喔,!不要等閑視之,!

例題:
假設(shè)你的 umask 為 003 ,請問該 umask 情況下,,創(chuàng)建的文件與目錄權(quán)限為,?
答:
umask 為 003 ,所以拿掉的權(quán)限為 --------wx,,因此:
文件: (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
目錄: (drwxrwxrwx) - (--------wx) = drwxrwxr--

Tips:
關(guān)於 umask 與權(quán)限的計算方式中,,教科書喜歡使用二進(jìn)位的方式來進(jìn)行 AND 與 NOT 的計算, 不過,鳥哥還是比較喜歡使用符號方式來計算~聯(lián)想上面比較容易一點~

但是,,有的書籍或者是 BBS 上面的朋友,,喜歡使用文件默認(rèn)屬性 666 與目錄默認(rèn)屬性 777 來與 umask 進(jìn)行相減的計算~這是不好的喔!以上面例題來看,, 如果使用默認(rèn)屬性相加減,,則文件變成:666-003=663,亦即是 -rw-rw--wx ,,這可是完全不對的喔,! 想想看,原本文件就已經(jīng)去除 x 的默認(rèn)屬性了,,怎么可能突然間冒出來了,? 所以,這個地方得要特別小心喔,!
鳥哥的圖示

在默認(rèn)的情況中,, root 的 umask 會拿掉比較多的屬性,root 的 umask 默認(rèn)是 022 ,, 這是基於安全的考量啦~至於一般身份使用者,,通常他們的 umask 為 002 ,亦即保留同群組的寫入權(quán)力,! 其實,,關(guān)於默認(rèn) umask 的配置可以參考 /etc/bashrc 這個文件的內(nèi)容,不過,,不建議修改該文件,, 你可以參考第十一章 bash shell 提到的環(huán)境參數(shù)配置檔 (~/.bashrc) 的說明!


小標(biāo)題的圖示文件隱藏屬性:

什么,?文件還有隱藏屬性,?光是那九個權(quán)限就快要瘋掉了,竟然還有隱藏屬性,,真是要命~ 但是沒辦法,就是有文件的隱藏屬性存在??!不過,這些隱藏的屬性確實對於系統(tǒng)有很大的幫助的~ 尤其是在系統(tǒng)安全 (Security) 上面,,重要的緊呢,!不過要先強(qiáng)調(diào)的是,底下的chattr命令只能在Ext2/Ext3的文件系統(tǒng)上面生效,, 其他的文件系統(tǒng)可能就無法支持這個命令了,。底下我們就來談一談如何配置與檢查這些隱藏的屬性吧!


  • chattr (配置文件隱藏屬性)
[root@www ~]# chattr [+-=][ASacdistu] 文件或目錄名稱
選項與參數(shù):
+   :添加某一個特殊參數(shù),其他原本存在參數(shù)則不動,。
-   :移除某一個特殊參數(shù),,其他原本存在參數(shù)則不動。
=   :配置一定,,且僅有后面接的參數(shù)

A  :當(dāng)配置了 A 這個屬性時,,若你有存取此文件(或目錄)時,他的存取時間 atime
     將不會被修改,,可避免I/O較慢的機(jī)器過度的存取磁碟,。這對速度較慢的計算機(jī)有幫助
S  :一般文件是非同步寫入磁碟的(原理請參考第五章sync的說明),如果加上 S 這個
     屬性時,,當(dāng)你進(jìn)行任何文件的修改,,該更動會『同步』寫入磁碟中。
a  :當(dāng)配置 a 之后,,這個文件將只能添加數(shù)據(jù),,而不能刪除也不能修改數(shù)據(jù),只有root 
     才能配置這個屬性,。 
c  :這個屬性配置之后,,將會自動的將此文件『壓縮』,在讀取的時候?qū)詣咏鈮嚎s,,
     但是在儲存的時候,,將會先進(jìn)行壓縮后再儲存(看來對於大文件似乎蠻有用的!)
d  :當(dāng) dump 程序被運(yùn)行的時候,,配置 d 屬性將可使該文件(或目錄)不會被 dump 備份
i  :這個 i 可就很厲害了,!他可以讓一個文件『不能被刪除、改名,、配置連結(jié)也無法
     寫入或新增數(shù)據(jù),!』對於系統(tǒng)安全性有相當(dāng)大的助益!只有 root 能配置此屬性
s  :當(dāng)文件配置了 s 屬性時,,如果這個文件被刪除,他將會被完全的移除出這個硬盤
     空間,,所以如果誤刪了,,完全無法救回來了喔!
u  :與 s 相反的,,當(dāng)使用 u 來配置文件時,,如果該文件被刪除了,則數(shù)據(jù)內(nèi)容其實還
     存在磁碟中,,可以使用來救援該文件喔,!
注意:屬性配置常見的是 a 與 i 的配置值,,而且很多配置值必須要身為 root 才能配置

范例:請嘗試到/tmp底下創(chuàng)建文件,并加入 i 的參數(shù),,嘗試刪除看看,。
[root@www ~]# cd /tmp
[root@www tmp]# touch attrtest     <==創(chuàng)建一個空文件
[root@www tmp]# chattr +i attrtest <==給予 i 的屬性
[root@www tmp]# rm attrtest        <==嘗試刪除看看
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted  <==操作不許可
# 看到了嗎?呼呼,!連 root 也沒有辦法將這個文件刪除呢,!趕緊解除配置!

范例:請將該文件的 i 屬性取消,!
[root@www tmp]# chattr -i attrtest

這個命令是很重要的,,尤其是在系統(tǒng)的數(shù)據(jù)安全上面!由於這些屬性是隱藏的性質(zhì),,所以需要以 lsattr 才能看到該屬性呦,!其中,個人認(rèn)為最重要的當(dāng)屬 +i 與 +a 這個屬性了,。+i 可以讓一個文件無法被更動,,對於需要強(qiáng)烈的系統(tǒng)安全的人來說, 真是相當(dāng)?shù)闹匾?!里頭還有相當(dāng)多的屬性是需要 root 才能配置的呢,!

此外,如果是 log file 這種的登錄檔,,就更需要 +a 這個可以添加,,但是不能修改舊有的數(shù)據(jù)與刪除的參數(shù)了!怎樣,?很棒吧,! 未來提到登錄檔 (十九章) 的認(rèn)知時,我們再來聊一聊如何配置他吧,!


  • lsattr (顯示文件隱藏屬性)
[root@www ~]# lsattr [-adR] 文件或目錄
選項與參數(shù):
-a :將隱藏檔的屬性也秀出來,;
-d :如果接的是目錄,僅列出目錄本身的屬性而非目錄內(nèi)的檔名,;
-R :連同子目錄的數(shù)據(jù)也一并列出來,! 

[root@www tmp]# chattr +aij attrtest
[root@www tmp]# lsattr attrtest
----ia---j--- attrtest

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


小標(biāo)題的圖示文件特殊權(quán)限: SUID, SGID, SBIT

我們前面一直提到關(guān)於文件的重要權(quán)限,那就是 rwx 這三個讀,、寫,、運(yùn)行的權(quán)限。 但是,,眼尖的朋友們在第六章的目錄樹章節(jié)中,, 一定注意到了一件事,那就是,,怎么我們的 /tmp 權(quán)限怪怪的,? 還有,那個 /usr/bin/passwd 也怪怪的,?怎么回事?。靠纯聪龋?/p>

[root@www ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
drwxrwxrwt 7 root root 4096 Sep 27 18:23 /tmp
-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd

不是應(yīng)該只有 rwx 嗎,?還有其他的特殊權(quán)限( s 跟 t )?。堪?....頭又開始昏了~ @_@ 因為 s 與 t 這兩個權(quán)限的意義與系統(tǒng)的賬號 (第十四章)系統(tǒng)的程序(process, 第十七章)較為相關(guān),, 所以等到后面的章節(jié)談完后你才會比較有概念,!底下的說明先看看就好,如果看不懂也沒有關(guān)系,, 先知道s放在哪里稱為SUID/SGID以及如何配置即可,,等系統(tǒng)程序章節(jié)讀完后,再回來看看喔,!


  • Set UID

當(dāng) s 這個標(biāo)志出現(xiàn)在文件擁有者的 x 權(quán)限上時,,例如剛剛提到的 /usr/bin/passwd 這個文件的權(quán)限狀態(tài):『-rwsr-xr-x』,此時就被稱為 Set UID,,簡稱為 SUID 的特殊權(quán)限,。 那么SUID的權(quán)限對於一個文件的特殊功能是什么呢?基本上SUID有這樣的限制與功能:

  • SUID 權(quán)限僅對二進(jìn)位程序(binary program)有效,;
  • 運(yùn)行者對於該程序需要具有 x 的可運(yùn)行權(quán)限,;
  • 本權(quán)限僅在運(yùn)行該程序的過程中有效 (run-time);
  • 運(yùn)行者將具有該程序擁有者 (owner) 的權(quán)限,。

講這么硬的東西你可能對於 SUID 還是沒有概念,,沒關(guān)系,我們舉個例子來說明好了,。 我們的 Linux 系統(tǒng)中,,所有賬號的密碼都記錄在 /etc/shadow 這個文件里面,,這個文件的權(quán)限為:『-r-------- 1 root root』,意思是這個文件僅有root可讀且僅有root可以強(qiáng)制寫入而已,。 既然這個文件僅有 root 可以修改,,那么鳥哥的 vbird 這個一般賬號使用者能否自行修改自己的密碼呢? 你可以使用你自己的賬號輸入『passwd』這個命令來看看,,嘿嘿,!一般使用者當(dāng)然可以修改自己的密碼了!

唔,!有沒有沖突?。∶髅?/etc/shadow 就不能讓 vbird 這個一般帳戶去存取的,,為什么 vbird 還能夠修改這個文件內(nèi)的密碼呢,? 這就是 SUID 的功能啦!藉由上述的功能說明,,我們可以知道

  1. vbird 對於 /usr/bin/passwd 這個程序來說是具有 x 權(quán)限的,,表示 vbird 能運(yùn)行 passwd;
  2. passwd 的擁有者是 root 這個賬號,;
  3. vbird 運(yùn)行 passwd 的過程中,,會『暫時』獲得 root 的權(quán)限;
  4. /etc/shadow 就可以被 vbird 所運(yùn)行的 passwd 所修改,。

但如果 vbird 使用 cat 去讀取 /etc/shadow 時,,他能夠讀取嗎?因為 cat 不具有 SUID 的權(quán)限,,所以 vbird 運(yùn)行 『cat /etc/shadow』 時,,是不能讀取 /etc/shadow 的。我們用一張示意圖來說明如下:

SUID程序運(yùn)行的過程示意圖
圖4.4.1,、SUID程序運(yùn)行的過程示意圖

另外,,SUID 僅可用在binary program 上, 不能夠用在 shell script 上面,!這是因為 shell script 只是將很多的 binary 運(yùn)行檔叫進(jìn)來運(yùn)行而已,!所以 SUID 的權(quán)限部分,還是得要看 shell script 呼叫進(jìn)來的程序的配置,, 而不是 shell script 本身,。當(dāng)然,SUID 對於目錄也是無效的~這點要特別留意,。


  • Set GID

當(dāng) s 標(biāo)志在文件擁有者的 x 項目為 SUID,,那 s 在群組的 x 時則稱為 Set GID, SGID 羅!是這樣沒錯,!^_^,。 舉例來說,,你可以用底下的命令來觀察到具有 SGID 權(quán)限的文件喔:

[root@www ~]# ls -l /usr/bin/locate
-rwx--s--x 1 root slocate 23856 Mar 15  2007 /usr/bin/locate

與 SUID 不同的是,,SGID 可以針對文件或目錄來配置,!如果是對文件來說, SGID 有如下的功能:

  • SGID 對二進(jìn)位程序有用,;
  • 程序運(yùn)行者對於該程序來說,,需具備 x 的權(quán)限;
  • 運(yùn)行者在運(yùn)行的過程中將會獲得該程序群組的支持,!

舉例來說,,上面的 /usr/bin/locate 這個程序可以去搜尋 /var/lib/mlocate/mlocate.db 這個文件的內(nèi)容 (詳細(xì)說明會在下節(jié)講述), mlocate.db 的權(quán)限如下:

[root@www ~]# ll /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x 1 root slocate   23856 Mar 15  2007 /usr/bin/locate
-rw-r----- 1 root slocate 3175776 Sep 28 04:02 /var/lib/mlocate/mlocate.db

與 SUID 非常的類似,,若我使用 vbird 這個賬號去運(yùn)行 locate 時,,那 vbird 將會取得 slocate 群組的支持, 因此就能夠去讀取 mlocate.db 啦,!非常有趣吧,!

除了 binary program 之外,事實上 SGID 也能夠用在目錄上,,這也是非常常見的一種用途,! 當(dāng)一個目錄配置了 SGID 的權(quán)限后,他將具有如下的功能:

  • 使用者若對於此目錄具有 r 與 x 的權(quán)限時,,該使用者能夠進(jìn)入此目錄,;
  • 使用者在此目錄下的有效群組(effective group)將會變成該目錄的群組;
  • 用途:若使用者在此目錄下具有 w 的權(quán)限(可以新建文件),,則使用者所創(chuàng)建的新文件,,該新文件的群組與此目錄的群組相同。

SGID 對於專案開發(fā)來說是非常重要的,!因為這涉及群組權(quán)限的問題,,您可以參考一下本章后續(xù)情境模擬的案例,應(yīng)該就能夠?qū)?SGID 有一些了解的,!^_^


  • Sticky Bit

這個 Sticky Bit, SBIT 目前只針對目錄有效,,對於文件已經(jīng)沒有效果了。 SBIT 對於目錄的作用是:

  • 當(dāng)使用者對於此目錄具有 w, x 權(quán)限,,亦即具有寫入的權(quán)限時,;
  • 當(dāng)使用者在該目錄下創(chuàng)建文件或目錄時,僅有自己與 root 才有權(quán)力刪除該文件

換句話說:當(dāng)甲這個使用者於 A 目錄是具有群組或其他人的身份,,并且擁有該目錄 w 的權(quán)限,, 這表示『甲使用者對該目錄內(nèi)任何人創(chuàng)建的目錄或文件均可進(jìn)行 "刪除/更名/搬移" 等動作?!?不過,,如果將 A 目錄加上了 SBIT 的權(quán)限項目時,, 則甲只能夠針對自己創(chuàng)建的文件或目錄進(jìn)行刪除/更名/移動等動作,而無法刪除他人的文件,。

舉例來說,,我們的 /tmp 本身的權(quán)限是『drwxrwxrwt』, 在這樣的權(quán)限內(nèi)容下,,任何人都可以在 /tmp 內(nèi)新增,、修改文件,但僅有該文件/目錄創(chuàng)建者與 root 能夠刪除自己的目錄或文件,。這個特性也是挺重要的?。∧憧梢赃@樣做個簡單的測試:

  1. 以 root 登陸系統(tǒng),,并且進(jìn)入 /tmp 當(dāng)中,;
  2. touch test,并且更改 test 權(quán)限成為 777 ,;
  3. 以一般使用者登陸,,并進(jìn)入 /tmp;
  4. 嘗試刪除 test 這個文件,!

由於 SUID/SGID/SBIT 牽涉到程序的概念,,因此再次強(qiáng)調(diào),這部份的數(shù)據(jù)在您讀完第十七章關(guān)於程序方面的知識后,,要再次的回來瞧瞧喔,! 目前,你先有個簡單的基礎(chǔ)概念就好了,!文末的參考數(shù)據(jù)也建議閱讀一番喔,!


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

前面介紹過 SUID 與 SGID 的功能,那么如何配置文件使成為具有 SUID 與 SGID 的權(quán)限呢,? 這就需要第六章的數(shù)字更改權(quán)限的方法了,! 現(xiàn)在你應(yīng)該已經(jīng)知道數(shù)字型態(tài)更改權(quán)限的方式為『三個數(shù)字』的組合, 那么如果在這三個數(shù)字之前再加上一個數(shù)字的話,,最前面的那個數(shù)字就代表這幾個權(quán)限了,!

  • 4 為 SUID
  • 2 為 SGID
  • 1 為 SBIT

假設(shè)要將一個文件權(quán)限改為『-rwsr-xr-x』時,由於 s 在使用者權(quán)限中,,所以是 SUID ,,因此, 在原先的 755 之前還要加上 4 ,,也就是:『 chmod 4755 filename 』來配置,!此外,還有大 S 與大 T 的產(chǎn)生喔!參考底下的范例啦,!

Tips:
注意:底下的范例只是練習(xí)而已,,所以鳥哥使用同一個文件來配置,你必須了解 SUID 不是用在目錄上,,而 SBIT 不是用在文件上的喔,!
鳥哥的圖示
[root@www ~]# cd /tmp
[root@www tmp]# touch test                  <==創(chuàng)建一個測試用空檔
[root@www tmp]# chmod 4755 test; ls -l test <==加入具有 SUID 的權(quán)限
-rwsr-xr-x 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 6755 test; ls -l test <==加入具有 SUID/SGID 的權(quán)限
-rwsr-sr-x 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 1755 test; ls -l test <==加入 SBIT 的功能!
-rwxr-xr-t 1 root root 0 Sep 29 03:06 test
[root@www tmp]# chmod 7666 test; ls -l test <==具有空的 SUID/SGID 權(quán)限
-rwSrwSrwT 1 root root 0 Sep 29 03:06 test

最后一個例子就要特別小心啦,!怎么會出現(xiàn)大寫的 S 與 T 呢,?不都是小寫的嗎? 因為 s 與 t 都是取代 x 這個權(quán)限的,,但是你有沒有發(fā)現(xiàn)阿,我們是下達(dá) 7666 喔,!也就是說,, user, group 以及 others 都沒有 x 這個可運(yùn)行的標(biāo)志( 因為 666 嘛 ),所以,,這個 S, T 代表的就是『空的』啦,!怎么說? SUID 是表示『該文件在運(yùn)行的時候,,具有文件擁有者的權(quán)限』,,但是文件 擁有者都無法運(yùn)行了,哪里來的權(quán)限給其他人使用,?當(dāng)然就是空的啦,! ^_^

而除了數(shù)字法之外,你也可以透過符號法來處理喔,!其中 SUID 為 u+s ,,而 SGID 為 g+s ,SBIT 則是 o+t 羅,!來看看如下的范例:

# 配置權(quán)限成為 -rws--x--x 的模樣:
[root@www tmp]# chmod u=rwxs,go=x test; ls -l test
-rws--x--x 1 root root 0 Aug 18 23:47 test

# 承上,,加上 SGID 與 SBIT 在上述的文件權(quán)限中!
[root@www tmp]# chmod g+s,o+t test; ls -l test
-rws--s--t 1 root root 0 Aug 18 23:47 test


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多