linux ls命令下复合模式位

来源:互联网 发布:张煌言 知乎 编辑:程序博客网 时间:2024/05/21 19:39
转置于三个特殊的位set-user-ID、set-group-ID、sticky
  • set-user-ID SUID
我们知道,linux中用户修改密码就是修改 /etc/passwd 这个文件,用的是 passwd user 这个命令。但是,那个文件的权限是:
-rw-r--r--
也就是说,除了 root,别人无法修改这个文件。但是,普通用户确实可以修改自己的密码啊?
我们查看一下passwd这个命令,知道它的执行文件 /usr/bin/passwd 的权限是:
-r-sr-xr-x
其实,/etc/passwd 文件不是给所有的用户修改这个文件的权限,而是给 passwd 命令一个特殊的权限,即那个 s ,使 passwd 命令的文件所有者是 root ,也就是说临时获得 root 权限,而 root 是有权限修改 /etc/passwd 这个文件的。

  • set-group-ID SGID
用来设置程序运行时所属组。基本和上面的相同,给程序某一个组的访问权限。

  • sticky 位

sticky位对于文件和目录有不同的用途。

对于文件而言,sticky位告诉内核即使没有人在使用这个程序,也要把它放在 交换空间 中。并且,交换空间上的文件时不能分块的。放在交换空间里的文件被内存调用的时候要比放在磁盘上块。

对于目录而言,sticky位使得存放在这个目录下的文件只能被创建者删除,别人不能够删除。

4 代表SUID
2 代表SGID
1 代表sticky
设置方法类似 : chmod 4777 filename
0 0
原创粉丝点击