首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么chmod o=rwx删除粘性位,而chmod u=rwx和chmod g=rwx不删除suid和sgid?

为什么chmod o=rwx删除粘性位,而chmod u=rwx和chmod g=rwx不删除suid和sgid?
EN

Unix & Linux用户
提问于 2020-01-02 10:30:16
回答 1查看 330关注 0票数 1

我对chmod命令有问题。我有一个带有sgid,suid和粘滞位的目录。如果然后运行chmod u=rwx {dirname}chmod g=rwx {dirname},sgid和suid仍在运行。但是如果我运行chmod o=rwx,粘性位删除。有人能解释为什么会发生这种事吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-01-02 11:21:57

来自Debian 10的man chmod

对于目录,chmod保留set-user-ID和set-group-ID位,除非您显式地指定了其他位。您可以使用符号模式(如u+sg-s )设置或清除比特。要用数字模式清除目录的这些位数,需要额外的前导零,或者前导=类似于00755=755

对于粘性位没有这样明确的保证。因此,这些行为与文档相匹配。

为什么chmod会被设计成这样,这是一个更困难的问题。

这可能是因为set- user -ID或set- group -ID位可能会授予额外的特权,而目录上的粘滞位会造成进一步的限制:如果suid/sgid位被意外地从目录中移除,用户可能会或者可能无法将它们放回目录中(例如,用户拥有的目录与用户不是成员的组),并且可能需要向系统管理员请求帮助;但在粘滞位的情况下,用户可以根据需要简单地切换它。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/559914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档