1. 程式人生 > >2.18-2.20特殊權限set_uid/set_gid/stick_bit;20.21/2軟硬鏈接

2.18-2.20特殊權限set_uid/set_gid/stick_bit;20.21/2軟硬鏈接

軟連接 硬鏈接

2.18 特殊權限set_uid

set_uid作用:普通用戶,臨時擁有:該命令所有者(用戶)身份。

給一個命令,設置set_uid,前提:這個文件必須是一個可執行的二進制文件。

1. 切換到普通用戶下su - 普通用戶

[root@hao-01 ~]# su - haojiabin

2. 查看當前登錄用戶:whoami

[haojiabin@hao-01 ~]$ whoami

3. 在普通用戶下,使用ls命令查看root用戶下內容:

[haojiabin@hao-01 ~]$ ls /root/

ls: 無法打開目錄/root/: 權限不夠

4. 返回root用戶:su - root

[haojiabin@hao-01 ~]$

su - root

5. 查看/usr/bin/ls 文件的權限:

[root@hao-01 ~]# ls -l /usr/bin/ls

技術分享圖片6. 給ls命令添加set_uid權限:chmod u+s 二進制文件

作用於ls命令,臨時擁有root用戶的權限

[root@hao-01 ~]# chmod u+s /usr/bin/ls

7. 刪除二進制文件set_uid權限:chmod u-s 二進制文件

[root@hao-01 ~]# chmod u-s /usr/bin/ls

8. 查看添加set_uid權限後的,/usr/bin/ls文件權限:

[root@hao-01 ~]# ls -l /usr/bin/ls

技術分享圖片9. 再切換到普通用戶下,

[root@hao-01 ~]#

su - haojiabin

10. 普通用戶下,執行ls命令,查看/root/這個目錄:

[haojiabin@hao-01 ~]$ ls /root/

技術分享圖片2.19 特殊權限set_gid

set_gid作用:普通用戶,臨時擁有:該命令所屬主(用戶組)身份

作用在文件上:

文件添加set_gid權限,讓執行這個文件的普通用戶,臨時擁有所屬組身份

1. 給ls命令添加set_gid權限:chmod g+s 二進制文件

作用於ls命令,臨時擁有root用戶組的權限

[root@hao-01 ~]# chmod g+s /usr/bin/ls

2. 查看添加set_gid權限後的,/usr/bin/ls文件權限:

[root@hao-01 ~]#

ls -l /usr/bin/ls

技術分享圖片作用在目錄上:

給目錄添加set_gid權限:

創建子目錄子文件時:所創建的子目錄子文件該目錄所屬組保持一致

1. 給目錄添加set_gid權限:chmod g+s 目錄

[root@hao-01 ~]# chmod g+s mulu

2. 查看添加set_gid權限後的,mulu權限:

目錄的用戶組,添加了set_gid權限,簡寫:s權限

技術分享圖片2.20 特殊權限stick_bit

stick_bit權限:防刪除位

stick_bit權限作用:防止普通用戶刪除root權限文件

2.21 軟鏈接文件

軟鏈接:

軟鏈接就好比是Windows系統的快捷方式

做軟鏈接:盡量使用絕對路徑。

1. 給文件做軟連接: ln -s 原文件 存放的目錄軟鏈接文件

[root@hao-01 ~]# ln -s /root/1.log /tmp/2.log

1.1 查看文件的軟連接:

[root@hao-01 ~]# ls -l /tmp/2.log

技術分享圖片2. 給目錄做軟連接:ln -s 原目錄 存放的目錄軟鏈接目錄

[root@hao-01 ~]# ln -s /root/mulu1 /tmp/mulu12

2.2 查看目錄的軟連接:

[root@hao-01 ~]# ls -l /tmp/mulu12

技術分享圖片2.22 硬鏈接文件

目錄不允許做硬鏈接

文件做硬鏈接,不可以跨分區!!!

硬鏈接可以刪除,因為還有其他的文件用的是同一個inode,但不能都刪掉,

硬鏈接好比是一個文件的皮,皮有多張,每一張皮都指向同一個inode

1. 給文件添加硬鏈接:ln原文件重命名的硬鏈接文件

做硬鏈接,不可以跨分區,/根開始就是跨分區了

[root@hao-01 ~]# ln 1.txt 2.txt

2. 查看原文件和做的硬鏈接文件屬性:

[root@hao-01 ~]# ls 1.txt 2.txt

技術分享圖片3. 查看原文件和做的硬鏈接文件的inode

[root@hao-01 ~]# ls -i 1.txt 2.txt


2.18-2.20特殊權限set_uid/set_gid/stick_bit;20.21/2軟硬鏈接