文章目录
- 1.粘滞位的引入
- 2.粘滞位的使用
1.粘滞位的引入
首先看一个场景
- 已知 对目录无w权限时 无法进行目录中的文件的创建/删除操作
- 但是普通用户通过sudo命令 以root身份创建一个文件
rw- r-- r--
普通用户此时是other 没有w权限 但却可以删除 [root和普通用户在一个目录下时的场景] 并且普通用户通过sudo命令把所有权限都设成000
普通用户仍可以删除 - 由此出现这样情况: 一个文件对于other不可读不可写但可删[前提是root和普通用户在一个目录下时的场景]
linux知识点
- 删除一个文件不是由文件决定的 而是由文件所属的目录决定的 即当前文件是否具有w权限不重要 重要的是他所属的目录是否具有w权限 如果具有 则对该文件具有w权限
- 多用户在同一目录下工作 对该目录都有rw权限 某一用户可以设置自己的文件对别人无rx和创建权限 但是无法阻止别人删除
- 而对于不在统一目录的情况 别人想要删只能通过su切换成你的用户[要么知道你的密码 要么知道root的密码] 或sudo删除 [前提是被添加到i信任列表]
如何阻止别人删除
把公共目录的w权限去掉 是不是可以阻止别人删除我的文件呢
答案是可以 但是 "我"想要在这个公共目录下创建文件 却也不被允许了 因为这个公共目录没有w权限 不仅仅是我 其他用户也不行 这与我们的初衷违背
能不能实现以下场景:
- 多个用户共享一个目录 可以在这个目录下rwx
- 但是自己只能删自己 不能删除别人的文件
由此引入了粘滞位
2.粘滞位的使用
粘滞位只能给目录设置
粘滞位的删除
粘滞位只能由设置它的人删除 一个公共目录一般是root创建的 而粘滞位一般也是root设置的
root只在及特殊情况下无法执行最高权限的指令 比如
一个程序正在被使用 无法删除等场景