redhat7 文件的權限-筆記

文件權限

在linux中一切都是文件,可是每一個文件的類型不盡相同,linux系統使用不一樣的字符來加以區分,常見的字符以下:linux

字符 含義
- 普通文件
d 目錄文件
l 連接文件
b 塊設備文件
c 字符設備文件
p 管道文件

每一個文件都有全部者和全部組,而且有各自的權限,讀(r)寫(w)執行(x),對於文件和目錄rwx含義是不用的ide

  • 文件:
    r 讀取文件內容的權限
    w 修改文件內容的權限
    x 執行文件內容的權限
  • 目錄:
    r 查看目錄下文件的權限
    w 穿件、刪除、修改目錄下文件的權限
    r 進入目錄的權限

示例以下:code

lrwxrwxrwx.   1 root root    7 Feb  7 19:53 bin -> usr/bin
dr-xr-xr-x.   3 root root 4096 Feb  7 12:08 boot

文件的特殊權限

SUID
SUID是一種對二進制程序進行設置的特殊權限,能夠上二進制程序的執行者臨時擁有屬主的權限(僅對擁有執行權限的二進制程序有效)
命令是chmod u+s 文件名,將全部者的權限由rwx變成rws,其中x變成s表示擁有了SUID權限,若是本來全部者的權限是rw-就會變成rwS,其中-會變成大寫的S
例如passwd命令:繼承

[root@localhost /]# ll /bin/passwd 
-rwsr-xr-x. 1 root root 27832 Jan 30  2014 /bin/passwd

SGID
SGID主要實現兩種功能:it

  • 讓執行者臨時擁有屬組的權限(對擁有執行權限的二進制程序進行設置)
  • 在某個目錄中建立的文件自動繼承改目錄的用戶組
    命令是chmod g+s 文件名,將全部組的權限由rwx變成rws,其中x變成s表示擁有了SGID權限,若是本來全部組的權限是rw-就會變成rwS,其中-會變成大寫的S
    示例:
    建立一個目錄test,屬主和屬組是test,將目錄的權限設置爲777,其餘用戶均可以在test目錄下建立本身的文件,屬主和屬組都是用戶本身
    設置SGID後,其餘用戶在test目錄下建立的文件,屬組將會變成test
    [root@localhost /]# chmod 777 /test
    [root@localhost /]# ls -l /test
    drwxrwxrwx.   2 test test    6 Feb  7 20:36 test
    [root@localhost /]# su -l developer -c "touch /test/a.txt"
    [root@localhost /]# chmod g+s /test
    [root@localhost /]# ls -l /test
    drwxrwsrwx.   2 test test    6 Feb  7 20:36 test
    [root@localhost /]# su -l developer -c "touch /test/b.txt"
    [root@localhost /]# ls -l test/
    -rw-r--r--. 1 developer developer   0 Feb  7 20:37 a.txt
    -rw-r--r--. 1 developer test 0 Feb  7 20:37 b.txt

SBIT
對一個目錄設置了SBIT權限後,改目錄中的文件只能被其全部者執行刪除操做,其餘用戶沒有刪除權限。
命令是 chmod o+t 目錄名 ,文件的其餘人權限部分的x執行權限會被替換成t或者T,本來有x執行權限則會寫成r,本來沒有x執行權限則會被寫成T。
例如系統中的/tmp目錄,全部用戶均可以在/tmp目錄下建立文件,可是不能刪除其餘用戶建立的文件。table

相關文章
相關標籤/搜索