三个特殊的位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
阅读(7214) | 评论(0) | 转发(1) |