Linux系统下的特殊权限

Linux IT敢客 5个月前 (05-09) 7902次浏览 已收录 0个评论 扫描二维码

linux 下文件权限除了 r,w,x 外还有 s,t,i,a 权限

s:文件属主和组设置 SUID 和 GUID,文件在被设置了 s 权限后将以 root 身份执行。

需要注意的是:在设置 s 权限时文件属主、属组必须先设置相应的 x 权限,否则 s

权限不能正真的生效(chomd 命令不进行必要的完整性检查,即使你不设置 x 属

性就设置 s 属性,chmod 也不会报错,这时我们用 ls -l 查看时会看到 rwS,大写的

S 说明 s 属性没有生效)。Linxu 修改密码 passwd 就是一个设置了 SUID 的程序,普

通用户无法读写/etc/shadow 文件,但却可以修改自己的密码。

一个例子:

[qiao@linux ~]$ ls -l /usr/bin/passwd 
-r-s--x--x 1 root root 18404  6 月  9 2010 /usr/bin/passwd

我们可以通过字符模式设置 s 权限:chmod a+s filename,例如:

[qiao@linux ~]$ ls -l test 
-rw-rw-r-- 1 qiao qiao 0  7 月 24 10:32 test
[qiao@linux ~]$ chmod u+s test 
[qiao@linux ~]$ ll test 
-rwSrw-r-- 1 qiao qiao 0  7 月 24 10:32 test

这里就是在没有设置 x 属性时去设置 s 属性,这里的大写 S 就表示 s 属性设置无效。

这里当然也可以用绝对模式去设置,这个大家自己联系了,我这里就不罗嗦了。

这里补充一点,对于 other 组没有这个属性。

t:设置粘着位,一个文件可读写的用户并一定想让他拥有删除此文件的权限,

如果文件设置了 t 权限则只有文件的所有者和 root 有删除文件的权限,通过

chmod  +t filename 来设置 t 权限。

这里同样补充一下:这里的 +t 和 o+t 是一样的作用,这个是对 other 组的用户

而言的。同样在设置之前要具有 x 属性,否则设置了 t 后会是一个大写的 T,这

样的设置是无效的。

i:不可修改权限。例如:chattr +i filename,则 filename 文件就不可以修改也不

能被删除,除非超级用户。并且这个属性只有超级用户可以设置。

a:只追加权限,主要针对日志文件系统。这个权限让目标文件只能追加,不能

删除,而且不能通过编辑器追加。可以使用 chattr +a filename 设置追加权限。

这里对 chattr 命令简单说明一下:

chattr – 修改文件在 Linux 第二扩展文件系统(E2fs)上的特有属性

具体的用法大家 man chattr 一下,里面间的很详细。


IT 敢客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux 系统下的特殊权限
喜欢 (155)
[313176056@qq.com]
分享 (0)
IT敢客
关于作者:
“我所做的一切都是为了方便我的生活~~~“
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址