linux 中 suid sgid sticky 的使用

SUID 为 Set User ID
SGID 为 Set Group ID

SUID

当一个设置了SUID 位的可执行文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。

如果所有者是 root 的话,那么执行人就有超级用户的特权了。

SGID

当一个设置了SGID 位的可执行文件运行时,该文件将具有所属组的特权, 任意存取整个组所能使用的系统资源。

若一个目录设置了SGID,则所有被复制到这个目录下的文件, 其所属的组都会被重设为和这个目录一样,除非在复制文件时加上-p (preserve,保留文件属性)的参数,才能保留原来所属的群组设置。

sticky-bit

对一个文件设置了sticky-bit之后,尽管其他用户有写权限, 也必须由属主执行删除、移动等操作。

对一个目录设置了sticky-bit之后,存放在该目录的文件仅准许其属主执行删除、 移动等操作。


通俗理解:

suid就是对一个文件加上suid的权限以后,其他的用户就有了这个文件拥有者的权限
sgid就是对一个文件加上sgid的权限以后,其他的用户就有了这个文件所属的组的权限
方法是chmod o+s 或者 chmod g+s
chmod o+t就是这个帐户建立的文件除了他自己别人都不能 删除
chmod g+t 就是这个组建立的文件,别人都不能删除了


下面是设置之前需知道的知识


查看文件权限

在linux中 使用ls -l命令来查看文件权限

这里写图片描述

对于前十位 d rwx r-x r-x

第1位表示文件类型,可以为p、d、l、s、c、b和-:

-表示普通文件

s表示socket文件

c表示字符设备文件

b表示块设备文件

p表示命名管道文件

d表示目录文件

l表示符号连接文件

后面三位为一组 第234位、456位、789位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为”r,w,x,- “四种,其中 r 可读 w 可写 x可执行 -无权限


关于使用suid sgid的例子

为什么要使用suid/guid ?

假如我管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。我写了几个脚本,并设置了它们的g u i d,我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份
登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。


给文件加SUID和减SUID的命令如下:

chmod u+s filename 设置SUID位

chmod u-s filename 去掉SUID设置

SGID设置和去除的命令

chmod g+s filename 设置SGID位

chmod g-s filename 去掉SGID设置

关于sticky的使用

chmod o +t filename 设置 sticky 位

chmod o -t filename 去掉 sticky位


**关于suid的实例使用

首先在普通用户下 创建 一个文件 touch 1

查看其权限 ll 1

其文件属主 为普通用户 redhat

在root下/usr/bin 里面修改touch 权限

chmod u+s touch

这里写图片描述

切换至普通用户 创建一个文件 touch 2

查看其权限 ll 2

其文件属主 为超级用户 root

这里写图片描述

suid 的使用大概就是这种方式 。

关于sgid 和 sticky 的实例使用 再做总结。

1—16.1.10. 0:27 am

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值