Linux特殊权限
特殊权限/高级权限
大写
表示原权限
是-
小写
表示原权限
是x
设置特殊权限
1、文字法 :
设置
SUID
: chmod u+s filename
设置
SGID
: chmod g+s filename
设置
SBIT
: chmod o+t filename
2、数字法:
将权限数字
由原来的三位数
扩展为四位数
即可.
SUID
为4
,
SGID
为2
,
SBIT
为1
,
把它们放在权限数字
的最开头
。例如:
设置SUID
,可以写成4777
,
设置SGID
, 可以写成2777
,
设置SBID
, 可以写成1777
.
原文链接:https://blog.csdn.net/imkelt/article/details/53054309
SET UID/SET GID/SET BIT权限
和rwx
权限一样,s
、t
也有两种设置方法:
1.SET UID/SUID(冒险位权限)
SUID
权限允许
一个程序在执行时以该程序所有者的权限
来运行
,从而提供部分系统命令
需要的额外权限
。
只允许
用户使用指定程序
对SUID
权限的文件进行修改
(例如使用passwd
命令修改/etc/shadow
,/etc/shadow
文件具有SUID
权限)
1
. SUID
权限仅对二进制程序有效
,应用对象
是二进制可执行文件
。
2
. 执行者
对于该程序
具有x的可执行权限
。
3
. 本权限仅在执行该程序的过程中有效
。
4
. 执行者将具有该程序拥有者的权限
。
权限是属主
的 S
和s
,在属主
的s
仅作为x(1)
权限。
有权限
为小s
无权限
为大S
数字权限
是+4
# 用于二进制可执行文件,执行命令时取得文件属主权限
/usr/bin/passwd
为文件设置SUID权限
# 设置SUID权限
chmod u+s 文件名
# 权限设置在原有权限上+4,例如4755,可实现s权限
chmod 4755 文件名
将SUID权限
转换为数字权限
# 权限
rwsrw-r--
# 对应数字权限
## s权限权且作为x权限,转换结果为764
## s权限为4,放在第一位
4764
2.SET GID/SGID(强制位权限)
例如你在公司生产的文件
会强制属于公司(组)
所有;
SGID
主要用在目录
上;
权限是属组
的 S
和s
有权限
为小s
无权限
为大S
数字权限
是+2
# 用于目录,在该目录下创建新的文件和目录,权限自动更改未该目录的属组
文件夹SGID权限设置:
在原有权限前加2,
例如2755
为文件设置SGID权限
# 设置SGID权限
chmod -R g+s 目录名
# 数字权限
chmod -R 2777 目录名
应用场景
# 用root账户在/home目录下创建了一个xiaoyun的目录
su root
mkdir -p /home/xiaoyun
# 赋予了xiaoyun SGID权限
chmod -R g+s /home/xiaoyun
# 赋予任何人对该目录可读可写可执行
chmod -R 777 /home/xiaoyun/
# 切换到test账号,进入xiaoyun目录
su test
cd /home/xiaoyun
# test账号在xiaoyun目录下创建文件
touch file1
# 文件的属组 是root(该目录创建人的属组)
ls -la file1
# 查看test用户是否是root组
id test
3.SBIT/Sticky(粘滞位权限)
SBIT
对文件不起作用
,仅对目录
生效
直译为粘滞位
(个人理解为保护位
)
只有自己
和root
能删除这个文件
权限是other组(扩展组)
的 T
和t
有权限
为小t
无权限
为大T
数字权限
是+1
# 用于目录,该目录下新建的文件和目录,仅root和自己可以删除
例如: /tmp
权限最后一位为t
设置SBIT权限
# 为目录设置SBIT权限
chmod -R o+t 目录名
# 数字权限设置
chmod -R 1777 目录名
应用实验场景
# 新建两个用户,zhangsan lisi
useradd zhangsan
useradd lisi
# 用zhangsan在/tmp 下创建一个zhangsan目录,权限设为777
su zhangsan
touch /tmp/zhangsan
创建用户
为zhangsan
目录设置权限777
# zhangsan目录,权限设为777
chmod 777 /tmp/zhangsan
# 用lisi登陆后,去删除/tmp/zhangsan 这个目录,提示无法删除,不允许的操作
su lisi
# 查看zhangsan目录的权限
ls -ld /tmp/zhangsan
# 删除zhangsan目录
rm -rf /tmp/zhangsan
用lisi
账号去删除zhangsan
用户目录
,提示无法删除,不允许的操作
练习题:特殊权限转数字权限
习题1
rwsrw-rwT
# 小写S代表原权限是x,大写T的原权限是-
## 转换过来的原权限是rwx rw- rw-,对应数字权限是766
# s=4,T=1, s+T=5 ,权限结果是5766
5766
权限分组 | 解释 | SUID冒险位1 | SUID冒险位2 | 属主 | 属组 | 其他用户 |
---|---|---|---|---|---|---|
在属主的s 仅作为x 权限。 | rws | rw- | rwT | |||
文字权限 | 小t 表示有权限 ;大T 表示无权限 。 | T | s | rwx | rw- | rw- |
数字权限 | 数字权限 对应4 。 | 0 | 4 | 7 | 6 | 6 |
习题2
rwSr-s-wT
# 大写S和T原权限是-,小写s原权限是x
## 原权限rw- r-x -w-转换 652
## 特殊权限转换为 4 2 1 = 7
7652
权限分组 | SUID冒险位 | SGID强制位 | SBID粘滞位 | 属主 | 属组 | 其他用户 |
---|---|---|---|---|---|---|
rwS | r-s | -wT | ||||
文字权限 | S | s | T | rwx | r– | -w- |
数字权限 | 0 | 2 | 0 | 7 | 4 | 2 |
习题3
r-sr-S-wx
## 对应 r-x r-- -wx
# 543= 401 400 021
# 6 = --4 --2 ---
## 对应 --s --s ---
6543
习题4
rwSr-sr-T
## 对应rw- r-x r--
# 7 = 004 002 001
## 对应--s --s --T
# 654 = 420 401 400
7654