Linux权限“suid”与“guid”设置

admin 5849 2025-06-07 18:07:32

1、什么是suid和guid

suid:

这是一种特殊权限,设置了suid的脚本文件,在其他用户执行该脚本时,此用户的权限是该脚本文件属主的权限。

guid:

设置了guid的脚本文件,执行此脚本文件的用户将具有该文件所属用户组中用户的权限。

例如:一个root用户的某一个脚本设置了这样的权限,那么其他用户普通用户在执行该脚本期间也同样具有root用户的权限,

2、suid与guid的作用

设置这样文件权限的作用就是方便其他用户执行脚本,而不一定需要文件的属主用户来执行

3、如何设置suid与guid

前提是文件要有执行权限,才能设置suid与guid

如果想要设置suid就将相应的权限位之前哪一位设置为“4”;如果想要设置guid就将相应的权限位之前哪一位设置为“2”.如果将相应的权限位之前哪一位设置为“6”,即属主,同组用户和其他用户都有执行权限,并且在执行时获得脚本文件属主权限、同组用户权限和其他用户权限.

有的时候虽然文件设置了suid,但他的权限为:-rwSr--r--,其中执行权限位S为大写,这就表示没有执行权限 这种suid没有任何的作用,忽略即可。

权限示例: 有这么一个权限为755的文件:

-rwxr-xr-x 1 root root 0 Jun 3 11:05 test

1、设置suid:在权限位755前加 “4”,或者 “u+s”

设置suid:

chmod 4755 test

chmod o+s test

查看文件权限:

-rwsr-xr-x 1 root root 0 Jun 3 11:05 test

2、设置guid:在权限位755前加 “2”,或者 “g+s”

设置guid:

chmod 2755 test

chmod g+s test

查看文件权限:

-rwxr-sr-x 1 root root 0 Jun 3 11:05 test

3、同时设置suid与guid:在权限位755前加 “6”,或者 “a+s”

设置suid与guid:

chmod 6755 test

查看文件权限:

-rwsr-sr-s 1 root root 0 Jun 3 11:05 test

在同时设置suid与guid之后,其他用户的执行权限位也变成了 “s”

上一篇
下一篇
相关文章