1. 程式人生 > >【Linux】檔案特殊許可權 SUID/SGID/Sticky Bit

【Linux】檔案特殊許可權 SUID/SGID/Sticky Bit

linux中除了常見的讀(r)、寫(w)、執行(x)許可權以外,還有3個特殊的許可權,分別是setuid、setgid和stick bit

1、setuid、setgid

先看個例項,檢視你的/usr/bin/passwd 與/etc/passwd檔案的許可權

[[email protected] ~]# ls -l /usr/bin/passwd /etc/passwd
-rw-r--r-- 1 root root 1549 08-19 13:54 /etc/passwd
-rwsr-xr-x 1 root root 22984 2007-01-07 /usr/bin/passwd

眾所周知,/etc/passwd檔案存放的各個使用者的賬號與密碼資訊,/usr/bin/passwd是執行修改和檢視此檔案的程式,但從許可權上看,/etc/passwd僅有root許可權的寫(w)權,可實際上每個使用者都可以通過/usr/bin/passwd命令去修改這個檔案,於是這裡就涉及了linux裡的特殊許可權setuid,正如-rwsr-xr-x中的s

setuid就是:讓普通使用者擁有可以執行“只有root許可權才能執行”的特殊許可權,setgid同理指”組“

作為普通使用者是沒有許可權修改/etc/passwd檔案的,但給/usr/bin/passwd以setuid許可權後,普通使用者就可以通過執行passwd命令,臨時的擁有root許可權,去修改/etc/passwd檔案了

2、stick bit (貼上位)

再看個例項,檢視你的/tmp目錄的許可權

[[email protected] ~]# ls -dl /tmp
drwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

 tmp目錄是所有使用者共有的臨時資料夾,所有使用者都擁有讀寫許可權,這就必然出現一個問題,A使用者在/tmp裡建立了檔案a.file,此時B使用者看了不爽,在/tmp裡把它給刪了(因為擁有讀寫許可權),那肯定是不行的。實際上是不會發生這種情況,因為有特殊許可權stick bit(貼上位)許可權,正如drwxrwxrwt中的最後一個t

stick bit (貼上位)就是:除非目錄的屬主和root使用者有許可權刪除它,除此之外其它使用者不能刪除和修改這個目錄

也就是說,在/tmp目錄中,只有檔案的擁有者和root才能對其進行修改和刪除,其他使用者則不行,避免了上面所說的問題產生。用途一般是把一個資料夾的的許可權都開啟,然後來共享檔案,象/tmp目錄一樣。

3、如何設定以上特殊許可權
      setuid:chmod u+s xxx

setgid: chmod g+s xxx

stick bit : chmod o+t xxx

或者使用八進位制方式,在原先的數字前加一個數字,三個許可權所代表的進位制數與一般許可權的方式類似,如下:

suid   guid    stick bit

  1        1          1

所以:suid的二進位制串為:100,換算十進位制為:4

guid的二進位制串為:010,換算:2

stick bit 二進位制串:001,換算:1

於是也可以這樣設:setuid:chmod 4755 xxx

setgid:chmod 2755 xxx

stick bit:chmod 1755 xxx

最後,在一些檔案設定了特殊許可權後,字母不是小寫的s或者t,而是大寫的S和T,那代表此檔案的特殊許可權沒有生效,是因為你尚未給它對應使用者的x許可權  

轉自:http://www.cnblogs.com/huangzhen/archive/2011/08/22/2149300.html

相關推薦

Linux檔案特殊許可權 SUID/SGID/Sticky Bit

linux中除了常見的讀(r)、寫(w)、執行(x)許可權以外,還有3個特殊的許可權,分別是setuid、setgid和stick bit 1、setuid、setgid 先看個例項,檢視你的/usr/bin/passwd 與/etc/passwd檔案的許可權 [[email pr

Linux檔案特殊許可權SUIDSGID,SBIT

SUID:Set UID (s) 當s這個標誌出現在檔案的擁有者(owner)的x許可權上時,此時稱為Set UID,簡稱為SUID的特殊許可權。例如:/usr/bin/password [[email protected] ~]# ls -l /usr/bin

linux---檔案許可權操作

檔案許可權: 標識結點型別(d:資料夾   -:檔案  l:連結) r:  可讀        w: 可寫             

Linux 特殊許可權 SUID,SGID,SBIT

setuid 和 setgid 分別是 set uid ID upon execution 和 set group ID upon execution 的縮寫。我們一般會再次把它們縮寫為 suid 和 sgid。它們是控制檔案訪問的許可權標誌(flag),它們分別允許使用者以可執行檔案的 owner 或 ow

Linux檔案許可權詳解

一、基本介紹 當在linux系統命令列輸入:ls -l 檔名 後會顯示如下內容: 在圖片中被圈起來的那一行0-9位做一說明。       1)第0 位:代表檔案型別            

linux特殊許可權SUID,SGID和SBIT的介紹

先來看看兩個特殊的檔案與目錄 [[email protected] ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 26968 Jan 29  2010 /usr/bin/passwd [[email 

Linux檔案IO --- sync、fsync、fdatesync

在使用write函式向檔案中寫入資料的時候,並不是在呼叫了函式以後就直接把資料寫入磁碟;作業系統在核心中設定了一塊專門的緩衝區,資料會先被寫入到核心的緩衝區中,等到緩衝區滿了或者系統需要重新利用緩衝區的時候才會將緩衝區的資料排入到寫佇列中去,待到達對首的時候,就將資料寫入到磁碟中。這就是延遲寫,因為不是馬上將

Linux檔案基本屬性 chown

Linux系統是一種典型的多使用者系統,不同的使用者處於不同的地位,擁有不同的許可權。為了保護系統的安全性,Linux系統對不同的使用者訪問同一檔案(包括目錄檔案)的許可權做了不同的規定。 在Linux中我們可以使用ll或者ls –l命令來顯示一個檔案的屬性以及檔案所屬的使

linux學習筆記6-linux檔案特殊許可權

linux的檔案特殊許可權1、特殊許可權lsattr  列出檔案的特殊許可權,-R可以檢視目錄下所有檔案的特殊許可權;chattr  +i  filename   增加檔案的鎖定許可權,鎖定後,無法進行

Linux檔案和目錄操作——cd、mkdir、rm、cp...

目錄的表示: . 代表此層目錄 .. 代表上一層目錄 - 代表前一個工作目錄 ~ 代表『目前使用者身份』所在的家目錄 ~account 代表 account 這個使用者的家目錄 絕對路徑:從根目錄/開始寫起的路徑; 相對

Linux檔案相關係統呼叫介面(IO)

早期在寫C語言介面的時候,我們可以通過fopen來開啟一個檔案,下面這段兩段程式碼為例: hello.c寫檔案 1 #include <stdio.h> 2

linux檔案隱藏屬性

    這些隱藏的屬性確實對於系統有很大的幫助的~ 尤其是在系統安全 (Security) 上面,重要的緊呢!不過要先強調的是,底下的chattr指令只能在Ext2/Ext3的檔案系統上面生效, 其他的檔案系統可能就無法支援這個指令了。  chattr (配置檔案案隱藏屬性)  [[email

Linux檔案內容檢視——cat、more、less、head...

正向檢視——cat root@linux ~]# cat [-AEnTv] 檔案路徑 引數: -A :相當於 -vET 的整合引數,可列出一些特殊字元~ -E :將結尾的斷行字元 $ 顯示出來; -n :打印出行號; -T :將

suid sgid sticky-bit 三種特殊許可權簡介

三種特殊許可權簡介SUID當一個設定了SUID 位的可執行檔案被執行時,該檔案將以所有者的身份執行,也就是說無論誰來執行這個檔案,他都有檔案所有者的特權。如果所有者是 root 的話,那麼執行人就有超級使用者的特權了。SGID當一個設定了SGID 位的可執行檔案執行時,該檔

Linux檔案的壓縮和解壓——gzip、bzip2、tar

檔案壓縮和解壓——gzip 現在test目錄下有一個檔案test_txt和一個目錄tar-test,tar-test目錄下也有一個檔案,使用gzip對檔案test_txt進行壓縮和解壓。 [lx@localhost test]$ ls tar-

linux,centos,redhat 中SUID,SGID ,Sticky Bit權限作用是什麽

創建目錄 bit 沒有 分享 /etc/ 都是 刪除 正常 寫入 SUID Set Uid 當我我們使用 ls 看passwd與shadow的權限時,會發現shadow文件只有root用戶具有所有權限,其余所有都沒喲任何權限,shadow文件是保存各個用戶密碼相關

linux檔案的使用者許可權的修改

使用root許可權可以將檔案或者資料夾的許可權更改為其他許可權; 1,更改使用者許可權: 使用'll' 或'ls -l' 可以檢視檔案的使用者許可權: 第三列是檔案擁有者,第四列是所屬的使用者組。 使用"chown  賬號名稱 檔案或目錄" ,

linuxftp建立檔案許可權問題

一、問題 有一個這樣的需求,admin為一個Linux為其FTP應用建立的一個有許可權限制的使用者,通過admin使用者可以進行登入FTP服務,登入FTP服務後,建立資料夾,該資料夾的使用者和使用者組都是admin,屬性為755,即只有admin使用者才有寫的許可權,但是,

Linux學習總結:特殊許可權SUIDSGID,SBIT

目錄 一、SUID 二、SGID 三、SBIT Linux中除了rwx許可權外,另外還有三種特殊許可權:SUID、SGID、SBIT 假如本來在該位上有x, 則這些特別標誌 (SUID, SGID,SBIT)顯示為小寫字母 (s,s,t)。否則顯示為大寫字母 (S,S,T) 。在

Linux目錄檔案許可權的檢視和修改

在Linux系統中檔案的許可權可以在檔案上單擊右鍵—>屬性來檢視。   但是我們這次用的是全命令來檢視和修改檔案的許可權   為了舉一個例項,我們在mnt資料夾中建立一個fileA檔案,然後在fileA資料夾中建立一個zhaoyuqiang.html網頁。