1. 程式人生 > >2.18 特殊權限set_uid 2.19 特殊權限set_gid 2.20 特殊權限stick_bit 2.21 軟鏈接文件 2.22 硬連接文件

2.18 特殊權限set_uid 2.19 特殊權限set_gid 2.20 特殊權限stick_bit 2.21 軟鏈接文件 2.22 硬連接文件

2.18 特殊權限set_uid 2.19 特殊權限set_gid 2.20 特殊權限stick_bit 2.21 軟鏈接文件 2.22 硬連接文件

2.18 特殊權限set_uid

2.19 特殊權限set_gid

2.20 特殊權限stick_bit

2.21 軟鏈接文件

2.22 硬連接文件


2.18 特殊權限set_uid

passwd 有setuid 權限

技術分享

s 是set_uid的權限

更改密碼的文件

技術分享

即使是000權限,root 也可以更改這個文件

passwd 有setuid 權限 當普通用戶執行該命令的時候,就會臨時擁有root用戶的身份

給用戶設置uid 前提是 這個文件是 二進制文件 ,而且是一個可執行文件

怎麽給一個文件 設置setuid 權限

打開另一個終端 登錄aming 用戶

技術分享

去第一個終端 設置set uid 權限

技術分享

技術分享

去掉s 權限 加上大S 權限

技術分享

小s 和大S 取決於 用戶本身有沒有執行x權限

2.19 set_gid 權限

先把之前的 setuid權限 去掉

給組加上s setgid 權限

技術分享

技術分享

技術分享

技術分享

技術分享

總結

set_gid 權限的作用 不僅可以作用在文件 ,也可以作用在目錄上

當作用在文件 和 set uid 作用是類似的,可以讓執行這個文件的普通的用戶 臨時擁有所屬組的身份

當作用在目錄上的時候,當你創建子目錄 或者 子文件,創建的 子目錄 和子文件的所屬組 和 該目錄的所屬組保持一致

2.20 stick_bit

stick_bit 作用是就是防止別人刪除自己的文件 (root用戶除外)

技術分享

技術分享

這個t 是防刪除位

在另一個終端下創建一個文件aming

技術分享

對aming 文件修改

技術分享

技術分享

技術分享

技術分享

再切到1終端

技術分享

是可以更改文件內容的

技術分享

但是不允許刪除aming用戶的 創建的文件

這個權限叫防刪除位

只有有權限的人 root 用戶可以刪除,其他用戶不可能刪除

stickbit 防止別人刪除自己的文件 root除外

再在用戶user1 下面 創建一個目錄 user1 改權限為777

777權限意味著 任何用戶都可以去寫讀 執行

技術分享

再切換到aming用戶下在user1 目錄下 可以 創建目錄 文件

技術分享

技術分享

技術分享

刪除的文件 所在的目錄 有沒有寫權限,而不是看刪除的五年級本身的權限

user1 目錄下面有1.txt 文件

要想刪除 1.txt, 不是看1.txt 的權限

看的是1.txt 所在目錄的權限

所在目錄 是user1 user1 的權限是777 777是任何人都可以寫

2.21 軟鏈接文件

軟鏈接

軟鏈接 類似於Windows 的快捷方式

技術分享

這個/bin 真正是在usr/bin 下面

技術分享

技術分享

這裏/bin/ls = /usr/bin/ls

在這個文件下 軟鏈接文件比較多

技術分享

軟鏈接可以節省空間

也可以跨分區

把/tmp/yum.log 做個軟鏈接 放到 /root/111/目錄下

ln -s 左邊原文件,真正存在的文件 空間比較大 後面的才是 軟鏈接文件

技術分享

軟鏈接也可以針對目錄

技術分享

同一個目錄下 做一個相對路徑 軟鏈接 僅僅是在當前目錄下 ,

會有一些弊端,原文件不存在 被移走了,或者文件、目錄改名字 ,就會導致 做的這個軟鏈接出現問題

所以,做軟鏈接,盡量使用絕對路徑

技術分享

技術分享

df -h 查看磁盤分區

舉例:當有一個服務 在/boot下的一個aming 服務不停的在 /boot 下產生文件 aming.log 這個

aming.log 文件在一直的增大,導致/boot 快用完了

現在為了不讓/boot磁盤空間被占滿 ,可以采取一個辦法,給/boot/aming.log 做一個軟鏈接文件

1,首先把/boot/aming.log 拷貝到 根目錄下的aming.log下

cp /boot/aming.log /aming.log 下

2 再刪掉/boot/aming.log (占空間大,刪掉)

rm /boot/aming.log

3給 aming.log 軟鏈接 到 目錄/boot/aming.log下

ln -s /aming.log /boot/aming.log

這樣這個服務在寫日誌的時候,因為靠路徑去找/boot/aming.log,實際上寫到/aming.log下

2.22 硬連接文件

硬鏈接

硬鏈接不支持對目錄做硬鏈接

只支持對文件做

對1.txt 做一個硬鏈接 1_heard.txt

對1.txt 做一個軟連接 1_sorft.txt

技術分享

技術分享

有倆個文件使用了同一個inode號

硬鏈接 特性:創建立一個文件 和 另一個文件node號一樣 ,這個倆個文件 相互為硬鏈接

不管誰是原 誰是目標,都一樣

軟鏈接 不可以刪除 ,把原刪了

技術分享

受影響了

但是硬鏈接沒事,

技術分享

其實就是多一個文件指向這個inode 號

技術分享

硬鏈接 不可以對目錄做硬鏈接

技術分享

跨設備也不行

技術分享

總結,硬鏈接

可以對文件做硬鏈接 ,不可以對目錄做

不可以跨分區,硬鏈接可以刪除 ,因為還有其他的文件 使用這個inode號

好比是一張皮,一個文件的皮,這個皮有多張,每張皮 都指向同一個inode ,可以刪掉 、扔掉沒關系,但是不可以全部都刪掉,必須留一張皮,


2.18 特殊權限set_uid 2.19 特殊權限set_gid 2.20 特殊權限stick_bit 2.21 軟鏈接文件 2.22 硬連接文件