1. 程式人生 > >基礎命令(四)

基礎命令(四)

執行過程 硬鏈接 roo 被人 51cto inode 鏈接 內容 將不

SetUID

s : 權限 set_uid 在命令執行過程中臨時升級為文件的屬主,只有二進制文件才能被賦予SUID權限
技術分享圖片
chmod u+s 賦權限 chmod u-s 取消
技術分享圖片
S是沒有加x執行權限,加了x執行權限才變s。
setuid: 設置使文件在執行階段具有文件所有者的權限. 典型的文件是 /usr/bin/passwd. 如果一般用戶執行該文件, 則在執行過程中, 該文件可以獲得root權限, 從而可以更改用戶的密碼.

SetGID

gid 會作用於創建新目錄或文件時變更為當前設置的屬組
技術分享圖片
技術分享圖片
setgid: 該權限只對目錄有效. 目錄被設置該位後, 任何用戶在此目錄下創建的文件都具有和該目錄所屬的組相同的組.

SetBIT

stick_bit 防刪除權限 bit -> t /tmp 目錄就有這樣的權限
防止被人刪除自己的文件 擁有父及屬性
技術分享圖片
bit: 該位可以理解為防刪除位. 一個文件是否可以被某用戶刪除, 主要取決於該文件所屬的組是否對該用戶具有寫權限. 如果沒有寫權限, 則這個目錄下的所有文件都不能被刪除, 同時也不能添加新的文件. 如果希望用戶能夠添加文件但同時不能刪除文件, 則可以對文件使用sticky bit位. 設置該位後, 就算用戶對目錄具有寫權限, 也不能刪除該文件.

SetUID 通過umask值相與結果為 4 u+s 針對文件有用
SetGID 通過umask值相與結果為 2 g+s 針對目錄和文件

SetBIT 通過umask值相與結果為 1 o+t 針對目錄有用

/etc/shadow 密碼保存文件

ln 命令

軟連接文件 ln -s 命令 原文件 目標文件 或者目錄
類似windows的 快捷方式 軟連接可以節省空間,要是用絕對路徑,可以跨分區使用,源文件不能刪,不然無法使用軟連接
技術分享圖片
技術分享圖片
技術分享圖片
要是用絕對路徑!

硬鏈接 ln
可以使用相同的Inode 節點,可通過節點識別,不能跨分區使用,不能針對目錄
技術分享圖片

鏈接有兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。建立硬鏈接時,鏈接文件和被鏈接文件必須位於同一個文件系統中,並且不能建立指向目錄的硬鏈接。而對符號鏈接,則不存在這個問題。默認情況下,ln產生硬鏈接。

在硬鏈接的情況下,參數中的“目標”被鏈接至[鏈接名]。如果[鏈接名]是一個目錄名,系統將在該目錄之下建立一個或多個與“目標”同名的鏈接文件, 鏈接文件和被鏈接文件的內容完全相同。如果[鏈接名]為一個文件,用戶將被告知該文件已存在且不進行鏈接。如果指定了多個“目標”參數,那麽最後一個參數 必須為目錄。
如果給ln命令加上- s選項,則建立符號鏈接。如果[鏈接名]已經存在但不是目錄,將不做鏈接。[鏈接名]可以是任何一個文件名(可包含路徑),也可以是一個目錄,並且允許它與“目標”不在同一個文件系統中。如果[鏈接名]是一個已經存在的目錄,系統將在該目錄下建立一個或多個與“目標”同名的文件,此新建的文件實際上是指向原“目標”的符號鏈接文件。

基礎命令(四)