理解基本權限以及特殊權限: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 16:06
下一篇 2017-04-08 18:10

相關推薦

  • debian8下安裝配置部署zabbix3.0

    一、安裝配置zabbix server     web server服務器:172.28.0.187     mysql服務器:172.28.0.237     1、安裝web server(172.28.0.187)  &nbs…

    Linux干貨 2016-05-07
  • 第四周作業(正則表達式)

    grep: Global search REgular expression and Print out the line.         作用:文本搜索工具,根據用戶指定的“模式(過濾條件)”對目標文本逐行進行匹配檢查;打印匹配到的行;    &…

    Linux干貨 2016-12-28
  • 馬哥Linux第五周作業

    at,cron,rpm,yum,sed

    2018-01-12
  • 馬哥教育網絡20期+第4周作業博客

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 答:cp -a /etc/ske1 /home/tuser1 && chown -R go-rwx /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 答:echo "…

    Linux干貨 2016-09-05
  • 用戶 組

    用戶 組    在linux系統中,用戶管理是基于用戶名和密碼的方式進行資源的分配,linux上用戶Username/UID分為以下類別:    管理員: root,0    普通用戶: 1-65535 普通用戶分為:系統用戶和登錄用戶兩種 系統用戶:1-499(cen…

    系統運維 2016-08-04
  • CentOS環境下,ab性能測試功具介紹及使用

    網站性能壓力測試是服務器網站性能調優過程中必不可缺少的一環。只有讓服務器處在高壓情況下,才能真正體現出軟件、硬件等各種設置不當所暴露出的問題。 性能測試工具目前最常見的有以下幾種:ab、http_load、webbench、siege。 ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型…

    Linux干貨 2017-07-22

評論列表(1條)

  • renjin
    renjin 2017-04-12 11:28

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

欧美性久久久久