设置SUID / SGID位:在程序运行时给予程序YOUR权限

设置SUID / SGID位:运行程序时您的权限

版本1.0
作者:VirtualEntity <lafeyette_management [at] comast [dot] net>

如何以及为什么要在文件上设置SUID / SGID位? 这是什么

通常,当程序在Linux下运行时,它会继承运行它的用户的权限,因此如果我在我的帐户下运行程序,程序运行的权限与我该使用的程序相同。 因此,如果我无法打开某个文件,我正在运行的程序也无法打开该文件。

如果我为文件设置了SUID或SGID位,这会导致运行该文件的任何人员或进程能够访问系统资源,就像它们是文件的所有者一样。

为此,我们可以使用字母,例如:

chmod u+s freddy

这样会改变情况,以便如果用户X运行freddy,fredy将以我的权限执行,而不是他或她自己执行。 (程序获得“卡住”权限取决于运行chmod命令的人的权限。)

你可以看到这种变化的效果如下:

ls -l freddy
-rwSrwxr-x 1 mike mike 0 Dec 5 11:24 freddy
[mike@berlin mike]$

另一种运行方式是chmod组而不是用户权限字节,例如

chmod g+s freddy

这赋予了我的组(g组,而不是其他“G”组)对该文件的权限,以便运行时,它作为我的组中的某人运行,而不是作为执行它的用户运行。

这样做的效果如下所示:

ls -l freddy
-rwSrwSr-x 1 mike mike 0 Dec 5 11:24 freddy
[mike@berlin mike]$
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏