linux中文件权限[高级部分]

setuid,setgid,sticky三者区别

setuid位, 如果该位为1, 则表示设置setuid 4

setgid位, 如果该位为1, 则表示设置setgid 2

sticky位, 如果该位为1, 则表示设置sticky 1


1.setuid的作用

    jack用户执行命令passwd jack;修改自己的密码成功,修改密码其实就是修改/etc/passwd这个文件,查看/etc/passwd这个文件的权限;发现其他人没有写权限,但是passwd jack执行成功,其原因就在于passwd这个命令的权限是rwsrw----,其中's'的作用就是:让执行命令的人具有和该命令拥有者相同的权限

注:当原来权限有x时,再给文件设置setuid,此时x位变为小写的s,当没有x权限时,此时x位变为S.

操作方法

chmod u+s xxx

chmod 4765 xxx

2.setgid的作用

   当用户以root身份登录系统并创建一个目录dir时,此时目录所有者和所属组是root,root;切换到另外一个用户jack,进入dir目录并创建文件,此时创建的文件所属者所属组都是jack,jack;当想要在dir目录创建的所有文件的所属组都是root时,可以以root身份登录给dir目录,执行命令chmod g+s dir或者chmod 2765,之后任何用户登录系统在目录dir中创建的文件的所属组默认都是root.

总结: 目录有s权限, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组

3.sticky bid的作用

应用场景:超级管理员创建了两用户a,b;超级管理员创建了一个目录dir,a用户登录系统在dir目录中创建文件a.txt;b用户登录系统创建文件b.txt,现在需要a不能删除b创建的文件即使b.txt(即使文件other为w),同理b也是如此.

(正常情况下a用户和b用户是可以删除对方创建的文件)

要想做到a用户可以添加文件并且只能删除自己创建的文件,b用户也如此

可以执行命令 chmod o+t dir 或者 chmod 1765 dir

给目录t设置stichy bit位


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值