[英]Linux Permissions - setuid, setgid, sticky bit - remove all with one command
我目前正在做一门关于 Linux Essentials 的课程,最近我遇到了 setuid、setgid 和sticky bit 权限。
我尝试制作一个实际示例并运行命令以将它们应用于我创建的文件和目录。
我注意到删除它们的数字命令是“chmod 0775”,我想,如果这三个都被应用,如果我运行数字命令来删除它们会发生什么。 我认为它会按顺序删除它们,但在文件的情况下,它会立即删除所有这些。
然后我尝试了目录。 那里的结果是不同的。 仅删除了最后应用的权限(即粘滞位)。 我再次运行该命令并没有做任何事情。 没有删除剩余的权限(setuid、setgid)。
为什么会这样?
谢谢!
文件和目录的粘性位略有不同...例如,要从名为“Testy”的目录中删除粘贴位,您可以键入:
sudo chmod g-s Testy/
请注意,输入以下内容不会起作用 : sudo chmod 777 Testy 。 下面的教程提供了很好的工作示例和解释,我的建议是将这些示例中的一些实践好几次然后最终都有意义。 理解的关键事项(在我看来无论如何)是八进制系统,一旦你理解它全部落实到位,就会涉及设置权限/位等。
这是教程链接: 访问控制/粘滞位教程
在man chmod
快速搜索发现您需要在前面附加一个额外的0
或=
。 例如像这样:
chmod 00775 target
或者像这样:
chmod =775 target
如果要递归删除所有文件的 setuid、setgid 和粘性权限,可以使用以下命令:
chmod -R 00775 {.,.*}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.