suid,sgid,bit
Posted luoqi302331
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了suid,sgid,bit相关的知识,希望对你有一定的参考价值。
suid
针对二进制文件有效
作用:使其他用户在执行此命令时,身份升级为此命令的所有者。
-rwsr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd
意思就是非root用户在执行passwd命令操作/etc/shadow文件时候,身份升级为root用户,当s变为S时候,代表次命令本身没有被赋予执行权限!即-rw-r-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passw
例如 -rwsr-xr--. 1 root root 30768 Nov 24 2015 /usr/bin/passwd ,这样即使passwd设置了guid,其他非root用户也不能执行此命令,因为其他人没有执行权限!
sgid
针对二进制文件、目录有效
对二进制文件作品用:
作用:使其他用户在执行此命令时,获取此命令所在组的权限。
例如:locate命令最终是查看这个数据库里的内容 /var/lib/mlocate/mlocate.db 而数据库文件的权限如下
-rw-r----- 1 root slocate 2014446 Feb 14 03:21 /var/lib/mlocate/mlocate.db
可见除了root之外,只有属于slocate组内的成员才有权限读取(r)这个数据库内容
我们在查看一下locate命令的权限
-rwx--s--x 1 root slocate 38464 Mar 12 2015 /usr/bin/locate
很明显,加入了sgid权限。所以,非root用户在执行locate这个命令的时候,直接加入了slocate这个大家庭,所以有权利去查看mlocate.db文件内容!
对二目录作用:
新建一个目录
drwxr-xr-x 2 root root 4096 Feb 14 11:40 luoqi
可以看到默认的所属组是root用户,因为此时我的身份是root。此时我更改luoqi目录的所属组为jiange
drwxr-xr-x 2 root jiange 4096 Feb 14 11:40 luoqi
此时进入luoqi目录下新建文件,查看
-rw-r--r-- 1 root root 0 Feb 14 11:42 sb
所属组竟然还是root,这很正常,如何使新建的文件所属组都是jiange呢?这是sgid第二个作用!
添加sgid到luoqi目录
chmod 2755 luoqi/
drwxr-sr-x 2 root jiange 4096 Feb 14 11:42 luoqi
再次进入luoqi目录新建文件
-rw-r--r-- 1 root jiange 0 Feb 14 11:45 jiange250
可以看到所属组已经改为jiange了
SBIT
作用:让用户只能删除自己的文件!对目录有效
用root用户新建目录赋予sbit权限
drwxrwxrwt 2 root root 4096 Feb 14 11:52 share
此时建立2个新用户分别在目录创建文件
luoqi用户
-rw-rw-r-- 1 jiange jiange 0 Feb 14 11:53 jiange
-rw-rw-r-- 1 luoqi luoqi 0 Feb 14 11:53 luoqi
可见,不同用户创建的文件所有者和所属组都是本身用户,所以不能操作其他用户创建的文件也就显而易见了!
但是针对share目录赋予777的权限不安全,其他人的权限应该为0,但是为0之后非root用户又无法在目录里创建文件,这时候需要用到acl。请见下文
以上是关于suid,sgid,bit的主要内容,如果未能解决你的问题,请参考以下文章