Chinaunix首页 | 论坛 | 博客

分类: LINUX

2014-08-18 08:45:38

                                          三个特殊的位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
阅读(2043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~