Linux系统中特殊权限SUID、SGID、Sticky的设置以及用法

在Linux操作系统中,当我们创建一个用户之后,使用umask查看用户掩码时,系统显示的是4位数,和我们知道的三位数的权限不同,那么不同之处就在于umask显示的第一位其实是特殊权限位,那么特殊权限位有哪些呢?下面我来一一讲解其用法!

[user5@izm5e10l2aupfmvytvqxp1z test2]$ umask
0002

我首先讲解一下我们用户的整个权限获取过程:

1.首先我们的用户登录,所谓的登录其实就是启动一个shell进程,该进程的属组和属主为该用户的属组和属主

2.当用户执行某个命令时,其实就是运行某个文件(linux一切皆文件),而要对这个文件进行执行,那么就需要用户的权限满足改文件的权限,列如:/tmp/test.sh,权限为rwxr-xr--,那么属主和属组主只要可以满足一个,该用户就可以执行该文件

一、SUID

通过上面的列子,你可能会问,如果我希望让所有的用户都可以执行这个文件呢?

有两个方法可以做到:

第一种:chmod o+x ,这个方法相信大家都知道,修改普通用户的权限为可执行

第二种:chmod u+s,这个方法就是我们今天要讲的SUID,使用之后,属主权限为:rws

SUID的特点:当一个文件拥有SUID之后,那么任何用户执行该文件时都会以该文件属主的权限去运行

列如: cat /etc/passwd,只有管理员才可以看到里面的内容,其他用户时无法查看的

如果我们给cat命令添加SUID之后,那么所有的用户执行这个命令时都会以属主为Root的权限来执行cat 命令,那么所有的用户都可以查看passwd文件

当然,这个SUID设置时一定要注意,不然很可能产生安全问题

二、SGID

通过上面的列子,也许你已经知道了,SGID权限设置之后,所有附加组的用户都会以该目录的属组权限进行操作,而不是自己的基本组

具体用法: chmod g+s 

列如: chmod g+s test test目录原始权限为rw-rw-r-- 属主:test 属组:test,执行命令后权限变为rw-rwsr--

当附件组为test的用户在改文件下创建文件时,将会以test组的权限创建,列如 touch  /test/a

那么a的权限就会变成 rw-rw-r-- 属组为test 属主还是a

当我们希望建立一个目录,然后所有的团队成员都可以在该目录下创建和编辑文件时,可以用此方法

三、Sticky

如果我们我们希望建立一个目录,然后所有的团队成员都可以在该目录下创建和编辑文件,但是我们又不希望可以随意删除其他用户的权限时,如何处理呢?

这时Sticky权限就派上用场了,Sticky的特点为:当一个目录拥有Sticky权限后,该目录下的文件只有属主可以进行删除,而属组即使拥有w权限,也无法删除

用法: chmod o+t 权限使用之后其他用户的权限位变为rw-rwsr--t

这些用法需要大量的练习,不然很不容易理解



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值