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”

Logo

更多推荐