<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 262,  comments - 221,  trackbacks - 0
    【1.SUID與SGID】
    前面我們知道了Linux中文件、目錄一般有rwx三種權限,但是請看下面命令的結果,我們可以發現了多了2個權限:s,t:
    [root@localhost ~]# ls -ld /tmp /usr/bin/passwd
    drwxrwxrwt  
    11 root root  4096  1月  5 21:36 /tmp
    -r-s--x--x   
    1 root root 19336 2004-09-07  /usr/bin/passwd
    [root@localhost ~]# ls /usr/bin/passwd

    其中s權限當出現于用戶的x位置時被稱為SUID,當s權限出現于組用戶的x位置時被稱為SGID (而SGID又分為作用于文件還是目錄,SUID僅對文件有用)

    那么這兩個權限有什么作用呢?簡單的概括起來:
     ①SUID允許執行該文件的用戶在運行時暫時擁有所有者的權限
     ②SGID允許執行該文件的用戶在運行時暫時擁有用戶組的權限
     ③如果SGID作用于目錄,則使用者在該目錄下創建的文件,其用戶組都和該目錄一樣

    Example 1:修改passwd文件中用戶paul的密碼

    我們知道/usr/bin/passwd文件的用戶是root,用戶組也是root,如果沒有s權限,那么光憑用戶paul的x權限我們只能執行而不能看到,更改這個文件的內容。但是實際上我們完全可以通過passwd命令來修改自己的密碼。
    [paul@localhost ~]$ passwd
    Changing password for user paul.
    Changing password for paul
    (current) UNIX password:
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    [paul@localhost ~]$

    那么為什么我們不具備對passwd這個文件rw權限,卻能夠修改這個文件呢?原因就在于我們前面提到的s權限--SUID。從描述可以知道當paul用戶執行該文件時(x權限),可以暫時地獲得用戶root對這個文件的權限,用戶root對passwd是rwx權限,所以我們當然可以修改自己的密碼了。

    但一旦我們執行完畢時這個權限就還回去了,如果我們cat這個文件我們會發現沒有權限顯示
    [paul@localhost ~]$ cat /usr/bin/passwd
    cat: /usr/bin/passwd: 權限不夠
    [paul@localhost ~]$

    不過SUID和SGID也不是隨便那個人,那個文件都可以用的,必須滿足下面兩個條件
     ①用戶對要執行的文件必須具備x權限
     ②SUID,SGID僅對二進制文件起作用

    【2.SBIT】
    SBIT權限就是前面我們看到的t權限,它只能作用于目錄,它的作用是:但用戶在該目錄下建立文件或目錄時,僅有用戶自己或root用戶有權刪除。其他人無法刪除,而用戶也無法刪除他人的目錄或文件。
    [paul@localhost ~]$ ls -ld /tmp
    drwxrwxrwt  
    11 root root 4096  1月  5 22:34 /tmp
    [paul@localhost ~]$

    我們看到/tmp目錄的x位置被替換成t了,這意味著這個目錄下的內容只有root用戶和創建者有權刪除。

    Example 1:試驗SBIT權限

    首先我們以paul用戶身份在/tmp目錄下建立一個文件test,并設置成為777權限。讓所有人可以修改文件。
    [paul@localhost tmp]$ touch test
    [paul@localhost tmp]$ ls -l test
    -rw-rw-r--  
    1 paul paul 0  1月  5 23:26 test
    [paul@localhost tmp]$ chmod 777 test
    [paul@localhost tmp]$ ls -l test
    -rwxrwxrwx  
    1 paul paul 0  1月  5 23:26 test
    [paul@localhost tmp]$

    然后我們以Oracle用戶身份分別嘗試刪除該文件和修改該文件
    [oracle@localhost ~]$ cd /tmp
    [oracle@localhost tmp]$ ls -l /tmp/test
    -rwxrwxrwx  
    1 paul paul 0  1月  5 23:26 /tmp/test
    [oracle@localhost tmp]$ rm test
    rm: 無法刪除‘test’: 不允許的操作
    [oracle@localhost tmp]$ vi test
    [oracle@localhost tmp]$ cat test
    Modify this file

    經過試驗我們發現兩個結果:
     ①我們不能以Oracle身份刪除test文件,即便/tmp目錄對其他用戶開放w權限
     ②我們可以Oracle身份修改test文件,因為我們對test文件設置了777權限

    這就是SBIT權限的好處,即不會限制正常的刪除,又可以防止意外或惡意的刪除。

    【3.如何設置特殊權限】
    如何設置權限我們已經在前面提到過了,設置特殊權限也是同樣的。只是特殊權限在設置時是位于普通權限的前面,而且4代表SUID權限,2代表SGID權限,1代表SBIT權限。見下面例子:
    [root@www ~]# cd /tmp
    [root@www tmp]# touch test                  <==建立一個測試用空檔
    [root@www tmp]# chmod 4755 test; ls -l test <==加入具有 SUID 的權限
    -rwsr-xr-x 1 root root 0 Sep 29 03:06 test
    [root@www tmp]# chmod 6755 test; ls -l test <==加入具有 SUID/SGID 的權限
    -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 權限
    -rwSrwSrwT 1 root root 0 Sep 29 03:06 test

    注意最后一個7666權限的例子,大寫S和T和上面小寫的s和t不同,這是空的特殊權限的表示。因為本身666已經斷絕了所有人的執行權限,所以特殊權限也就沒有意思了。

    (來自《鳥哥的私房菜》的例子)


    -------------------------------------------------------------
    生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
    posted on 2009-01-05 22:03 Paul Lin 閱讀(873) 評論(0)  編輯  收藏 所屬分類: Unix / Linux
    <2009年1月>
    28293031123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(21)

    隨筆分類

    隨筆檔案

    BlogJava熱點博客

    好友博客

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲美女视频网址| 免费a级毛片18以上观看精品| 国产精品99久久免费观看| 97在线免费视频| 中文字幕乱码免费看电影| jizz在线免费播放| 搡女人免费免费视频观看| a视频在线免费观看| 永久免费av无码入口国语片| 在线人成免费视频69国产| 免费污视频在线观看| 午夜理伦剧场免费| 91久久青青草原线免费| 成人在线免费看片| 两个人的视频高清在线观看免费| 蜜桃视频在线观看免费网址入口| 在线免费观看色片| 免费一级做a爰片性色毛片| 久久精品国产亚洲Aⅴ蜜臀色欲 | 日本一区二区在线免费观看| 一级做a爰片久久毛片免费陪 | 午夜不卡AV免费| 99在线免费观看| 99热在线精品免费播放6| 91精品免费在线观看| 天天摸天天碰成人免费视频| 国产一级理论免费版| 青青草原亚洲视频| 亚洲AV日韩精品久久久久久| 亚洲国产成人无码av在线播放| 亚洲中文字幕一二三四区| 黄色一级毛片免费| a级毛片免费全部播放无码| 最近新韩国日本免费观看| 欧洲黑大粗无码免费| 内射无码专区久久亚洲| 亚洲av永久无码精品漫画| 亚洲制服丝袜中文字幕| 欧亚一级毛片免费看| 久久99热精品免费观看牛牛| 无人在线观看完整免费版视频|