2.18-2.20特殊權限set_uid/set_gid/stick_bit;20.21/2軟硬鏈接
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 ~]$
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 ~]#
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 ~]#
作用在目錄上:
給目錄添加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軟硬鏈接