6人参与 • 2025-03-07 • Linux
linux 下有两种用户:超级用户( root )、普通用户。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
理解权限,分两个方面来理解,一方面它是针对谁的,另一方面它具有哪些属性。
文件类型
基本权限
iv.“—” 表示不具有该项权限
① 用户表示符 +/-= 权限字符
用户符号:
举例:
②三位 8 进制数字
举例:
举例:
举例:
当然,可以修改拥有者的同时,修改所属组
1.进入一个目录,需要什么权限?
通过观察,不难发现,进入目录,需要 x 权限。
2.umask
为什么创建一个目录和普通文件,目录对应的权限分别为 775(rwx | rwx | r-x)
普通文件对应的权限为 664 (rw- | rw- | r--),为什么呢?
但是 777 与 775 并不同,666 与 664 也不同,为什么呢?-----这里引入 umask(权限掩码)
目录或者文件被创建,最终的权限 = 起始权限 & (~ umask)
即,先对 umask 按位取反,然后与 起始权限 按位与,结果就是最终权限。
下面,我们只针对 o(other) 进行验证:
3.粘滞位
我们发现, o(other) 列最后一个字母是 t,这个是什么意思呢?------这个就是粘滞位
那么粘滞位有什么用呢?
我们惊奇的发现,在 根目录 下的一个目录中创建的一个普通文件,虽然 wmh(普通用户)不能进行写入,对应的权限是 r-- ,不能写入能理解,但是居然能删除。
这里我想说的是,目录中的文件,能不能被删除,不是看文件针对某个对象有没有 w 权限,而是该文件所在的目录有针对该对象,有没有 w 权限。
引入粘滞位的目的就是,当多个用户在同一个目录中创建,修改文件时,本来属于 o(other) 用户,并没有对应的修改,或者查看,或者删除的权限,但是该文件所在的目录针对 o(other) 有 w 权限,这就导致了虽然 o(other) 不能查看,修改,删除,但是却真的能删除。
引入粘滞位以后,该文件就不能被删除了,达到了谁创建的谁才能删除(root 除外,因为root无所不能)。
我们发现,引入粘滞位后,属于o(other) 的 wmh 删除不了了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论