理解基本權限以及特殊權限:Suid 、Sgid、Sticky以及acl

理解基本權限以及特殊權限:Suid 、Sgid、Sticky以及acl

在Linux中特殊權限是什么?為什么要設定特殊權限?回答這個問題前,我們不妨思考為什么要設定權限?

大家知道Linux中一切皆文件。不論你是什么,在linux系統中都會被當做一個文件來看待。無論你是文本或目錄,硬件或軟件,圖片或視頻等等,統統都被當做文件來看待。所以,在linux中,文件的重要性不言而喻。那么如何更合理的管理好文件呢?文件的權限管理是很重要的一環,所以接下來我將介紹文件的基本權限以及特殊權限。

基本文件權限

對于文件的權限linux系統中是通過讀(r)寫(w)執行(x)來進行管理的。
權限 文件 目錄
r 可以打開和閱讀文件的內容 可以用ls查看此目錄中的文件,但不能閱讀目錄內的文件
w 可以修改文件內容 可以在目錄中刪除或添加文件以及目錄
x 可以運行一個執行文件 可以使用cd進入到這個目錄

介紹完了rwx權限在文件以及目錄中的意義,接下來介紹賦予權限的方法。在這里我采用的八進制賦權的方法,權限對應關系如圖。 Alt text

Selection_005

通過這種對應關系,我們可以給文件或目錄賦權。

例子 1.1

~]# touch permission.txt
~]# ll permission.txt -rw-r--r--. 1 root root 0 Apr  8 14:40 permission.txt
~]# chmod 755 permission.txt 
~]# ll permission.txt -rwxr-xr-x. 1 root root 0 Apr  8 14:40 permission.txt
講解:   1.創建一個文件   
        2.查看文件權限為:-rw-r--r--,對應權限 屬主:讀寫;屬組:讀;其他者:讀  
        3.接下來我們使用chmod更改文件的權限   
        4.可以看到文件的權限為:-rwxr-xr-x 對應權限 屬主:讀寫執行;屬組:讀執行;其他者:讀執行
        note:一般我們設置文件的權限為644,不輕易給文件賦予X權限,因為執行權限對于文件來說十分重要

2.特殊權限 講解完了基本權限,接下來該講講特殊權限。當有些權限問題,基本權限解決不了,那么就需要特殊權限來解決了。這就是特殊權限存在的意義。

2.1 三大特殊權限分別對于文件以及目錄的作用。 Alt text

Selection_007

1.設置SUID的意義:讓其他用戶具有文件所有者的執行權限。
2.設置SGID的意義:讓其他用戶可以在設置SGID的目錄中可以隨意的修改文件。生產環境中常為開發人員用戶組設置此權限。
3.設置Sticky的意義:只有文件的屬主可以刪除文件。生產環境中常為開發人員用戶組設置此權限。

2.2如何判斷文件或者目錄設置了特殊權限 Alt text

8

通過上圖我們可以知道,當對用戶設置了SUID,用戶原本執行權限位置會被S或s替換掉。屬主有執行權限,替換為s;屬主沒有執行權限時,則替換為大S。大S在這里是沒有任何作用,小s才會讓其他用戶擁有執行權限。同理,SGID,Sticky也是相同的道理。

~]# ls -ld /usr/bin/passwd /tmp
 drwxrwxrwt. 16 root root  4096 Apr  8 15:03 /tmp
-rwsr-xr-x.  1 root root 27832 Jun 10  2014 /usr/bin/passwd
    以上是系統對文件以及目錄設置的特殊權限。
    passwd文件設置了SUID,作用是除root用戶以外的用戶可以修改自身的用戶密碼;
    tmp目錄設置了sticky,其作用是使進入tmp目錄內的用戶可以隨意修改   文件內容,但是不能刪除其他用戶創建的文件。

2.3 設置Suid、Sgid、Sticky

設置特殊權限很簡單,可以參考以下命令。

3.1 設置suid/取消suid
        chmod u+s file
        chmod u-s file
    3.2 設置sgid/取消sgid       
        chmod g+s dir
        chmod g-s dir
    3.3 設置sticky        
        chmod o+t dir
        chmod o-t dir

2.4acl權限

除了文件的所有者,所屬組和其他人,可以對通過acl權限實現對更對的用戶設置權限。

獲取acl權限信息
    命令:getfacl dir/file
        tmp]# mkdir acltest
        tmp]# getfacl acltest/
        # file: acltest/
        # owner: root
        # group: root
        user::rwx
        group::r-x
        other::r-x設置acl權限
    命令:setfacl -m u/g:name:permission dir/file
        tmp]# setfacl -m u:michael:rwx acltest/
        tmp]# getfacl acltest/
        # file: acltest/
        # owner: root
        # group: root
        user::rwx
        user:michael:rwx        
        group::r-x
        mask::rwx
        other::r-x
以上通過setfacl命令,michael用戶對/tmp/acltest目錄已經擁有了rwx權限。這就是acl權限的作用,大家可以舉一反三。

原創文章,作者:PowerMichael,如若轉載,請注明出處:http://www.www58058.com/72796

(0)
PowerMichaelPowerMichael
上一篇 2017-04-08
下一篇 2017-04-08

相關推薦

  • 文件的權限管理

    提問:可執行文件的標準格式是什么?     Linux下面,目標文件、共享對象文件、可執行文件都是使用ELF文件格式來存儲的。程序經過編譯之后會輸出目標文件,然后經過鏈接可以產生可執行文件或者共享對象文件。Linux下面使用的ELF文件和Windows操作系統使用的PE文件都是從Unix系統的COFF文件格式演化來的?!?/p>

    Linux干貨 2016-11-23
  • Bash的&&,||邏輯運算

    Bash的&&,||邏輯運算 bash里的true和false并不是我們通常所認為的0和1。 true和false是shell的內置命令,返回邏輯值。 $?是一個特殊的變量,存放有上一個程序的結束狀態。 在shell里面,把0作為程序是否成功結束的標志。 例如: $ true$ echo$?0$ false$ echo$?1 有時候,下一條命…

    Linux干貨 2016-04-11
  • linux用戶組和權限管理

    用戶組和權限管理  概念 用戶分為三類: 1、超級用戶:root uid=0,簡單來說uid為0的用戶就是超級用戶。 2、虛擬用戶:存在linux中,滿足文件或者程序運行的需要,而創建的。不能登錄,不能使用。uid=1-499,1-999(centos7) 3、普通用戶:管理員root創建的用戶。uid=500+,1000+(centos7) 用戶…

    Linux干貨 2017-07-29
  • 分別設置CentOS 6與CentOS 7的開機啟動為3模式 遇到的問題

    vim /etc/inittab (centos 6) 把id:5: initdefault: 改成3模式 reboot 2  (centos7) vim /etc/inittab 打開文件沒有id:5: initdefault: 這一項 systemd使用比sysvinit的運行級別更為自由的target概念作為替代 第三運行級: multi-u…

    2017-05-18
  • htop/vmstat/dstat/ps命令的使用

    Linux htop/vmstat/dstat/ps命令的使用 htop命令 htop工具在系統光盤這中是沒有的,所以要下載的小伙伴們要自己創建yum倉庫通過epel 安裝 創建yum倉庫 vim /etc/yum.repos.d/epel.repo [epel] name=Fedora EPEL baseurl=https://mirrors.tuna.t…

    2017-08-28
  • 在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件

    在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。 ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S) ~]# tree /tmp 查看輸出結果 復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。 …

    Linux干貨 2016-11-06

評論列表(1條)

  • renjin
    renjin 2017-04-12 11:28

    總結了linux 中的一些特殊權限,寫容總結的很不錯,排版也很好,贊!

欧美性久久久久