SUID SGID Sticky

1.特殊权限及文件系统访问控制列表

引入:[root@ns1 ~]# ls -l `which passwd`

 

备注:终点看s

2.特殊权限一共有三个

SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者(启动者可以临时拥有root权限)

格式:chmod u+s FILE

  chmod u-s FILE

【注意:如果FILE本身原来就有执行权限,则SUID显示为s(小写),否则显示为S(大写)】

举例:

  

 

 

【注意:我们发现一个文件的属主是root,又给了他SUID,这带来的风险是极大的!如果这个文件其他人还有编辑权限就会更加麻烦,随便往里面编辑一条命令,比如rm -rf /,系统就完蛋了!】

另:

 

备注:大家会发现默认就有s权限,因为普通用户也能该自己密码

实例:写了一个脚本,如果需要获取系统属性,此时必须要有s权限。以前网站后台用perl语言写的脚本都需要有s权限获取信息,这样的网站很容易被入侵。

SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组

格式:chmod g+s FILE

  chmod g-s FILE

【注意:如果FILE本身原来就有执行权限,则SUID显示为s(小写),否则显示为S(大写)】

举例常见场景:

公司内部有个开发团队develop team

有三个人hadoophbasehive,他们有共同的使用目录/tmp/project

要求三个用户都能在这个目录下创建文件

由于三个用户创建的文件都属于同一个项目,所以三个用户都能查看和编辑对方的文件。

举例:



备注:发现属组没有写的权限

 

备注:退出至root用户添加developteam组的写入权限,现在为止用户都可以创建文件,但是不能相互查看修改

 

备注:此时组有了s权限

 

备注:分别使用hadoophbase登录创建文件查看结果,这样就能实现三个用户都能查看和编辑对方的文件

 

【注意:现在出现一个很大问题,三个用户都能查看和编辑对方的文件但是还能删除对方文件】

由此引出下面内容

Sticky:在一个公共目录,每个人都可以创建文件,删除自己的文件,但是不能删除别人的文件

格式:chmod o+t DIR(针对目录)

  chmod o-t DIR(针对目录)

举例:

 

备注:先还原刚被hbase用户删除的b.hadoop文件

 

备注:现在有了t

 

【注意:不能删除别人的,但是可以删除自己的文件】

总结:

使用方式:三位可以一起使用

举例:chmod 1755 /back/test //包含Sticky

  chmod 2755 /back/test //包含SGID

  chmod 3755 /back/test //包含SGIDSticky

  chmod 4755 /back/test //包含SUID

  chmod 5755 /back/test //包含SUIDSticky

  chmod 6755 /back/test //包含SUIDSGID

  chmod 7755 /back/test //包含SUIDSGIDSticky

备注:此时大家应该理解为什么umask4位了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值