标签:bsp color .com root 文件存储 nbsp linu pre str
在上文基本权限中讲述了rwx的作用。但是或许有人在权限蓝栏看到了一个s符号,这个就是特殊权限。
文件的特殊权限包括:SUID、SGID、SBIT。
1.SUID,借出程序所有者的权限
hang@hang:/home$ ll /usr/bin/passwd -rwsr-xr-x 1 root root 54256 3月 29 2016 /usr/bin/passwd* #拥有SUID权限,第一组rwx中的x改为s
passwd命令为修改用户的密码,根据权限可以得知同一用户组或其他人都可以调用改命令。但是passwd命令需要修改/etc/shadow文件,此文件存储账号的密码。
hang@hang:/home$ ll /etc/shadow -rw-r----- 1 root shadow 1517 11月 26 20:08 /etc/shadow hang@hang:/home$
可以看到,这个被passwd所修改的文件,权限仅仅允许root用户修改。那么问题来了~
其他用户虽然可以调用passwd命令,但是不能修改/etc/shadow这个文件啊,那么密码怎么存储?
这就是SUID的作用,你不是没有权利修改/etc/shadow文件吗?我(程序所有者)给你啊。也就是说,在这个时候,其他用户调用passwd命令已经暂时获得root用户的权限,这时去修改/etc/shadow是利用root用户的权限去修改。
简单来说,这个s权限,会将程序所有者拥有的权限暂时借给其他人使用,前提是其他人拥有这个程序的x权限。
2. SGID,借出用户组的权限
hang@hang:/home$ ll drwxr-xr-x 23 hang hang 4096 11月 27 18:47 hang/ drwxr-xr-x 2 zncu zncu 4096 11月 25 20:47 zncu/ drwxrws--- 2 root znha 4096 11月 25 20:48 znha/
简单来说,SGID和SUID一个是把用户组的权限暂时借出一个是把所有者的权限暂时借出。
但是,SGID也可以针对目录或者文件使用,上面的例子就是对目录的使用。
那么它有什么作用那?
hang@hang:/home$ groups hang #hang用户在znha用户组里,所以具有进入znha目录的权限
hang : hang znha
在此目录创建文件,观察该文件所在用户组
hang@hang:/home/znha$ touch test hang@hang:/home/znha$ ll -rw-rw-r-- 1 hang znha 0 11月 27 20:54 test #hang用户在具有SGID的目录里创建文件,该文件的用户组为znha(该目录所在用户组)
hang@hang:~$ cd hang/
hang@hang:~/hang$ touch test #在其他目录里创建文件,文件的用户组为hang(用户的主用户组)
hang@hang:~/hang$ ll
-rw-rw-r-- 1 hang hang 0 11月 27 20:56 test
可以看到,该文件的用户组问znha,而不是hang。这种特性可以使在同一用户组的多个用户拥有共同的目录,在创建文件时该用户组的所有用户都有相同的权利操作文件。
3. SBIT,对目录有效
drwxrwxrwt 15 root root 4096 11月 27 21:06 tmp/ #具有SBIT权限,最后一个字母t标示。
特殊权限的设置:
SUID:4
SGID:2
SBIT:1
chmod 4777 test ,添加SUID权限。
http://www.cnblogs.com/yuhanghzsd/p/6107362.html
标签:bsp color .com root 文件存储 nbsp linu pre str
原文地址:http://www.cnblogs.com/yuhanghzsd/p/6107362.html