MSN: Phenzer@hotmail.com 欢迎加为好友讨论测试

suid和guid的作用和设置

上一篇 / 下一篇  2010-11-05 10:31:01 / 个人分类:Linux

   suidguid其实可以化为linux系统安全的范畴,因为它们的设置影响执行的权限。下面简单介绍suid和guid的作用和设置

一、suid和guid的作用
   (1)suid:让非文件属主在执行文件是暂时具有属主的权限,执行结束后权限恢复。suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这脚本时也会具有其属主的相应权限。于是,如果根用户的某一个脚本设置了这样的权限,那么其他普通用户在执行它的期间也同样具有根用户的权限。
   (2)guid:让非文件属组的组员在执行文件是暂时具有属组组员的权限,执行结束后权限恢复。即,执行相应脚本的用户将具有该文件所属用户组中用户的权限。

二、为什么要使用suid/guid
   为什么要使用这种类型的脚本?举个例子,数据库管理员要进行数据备份,而备份需要有系统管理权限。数据库管理员可以写几个脚本,并设置了它们的guid,这样数据库管理员指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。其实linux的ping、passwd等命令都设置了suid的(ll /bin/ping查看)

三、如何设置suid和guid
第一种:chmod u[g]+u[U] +filename 
suid是在u的x位用s/S设定suid,当x位本身就设定了执行权限,则用小s表示;当x没有设定执行权限,则用大S表示;
eg:file:-rwx r-x r-x
    dire:drw- r-- r--
----->
    file:-rws(S) r-x r-x
    dire:drwS(s) r-- r--
guid是在g的x位用s/S设定guid,当x位本身就设定了执行权限,则用小s表示;当x没有设定执行权限,则用大S表示;

第二种:chmod +4位遵循权限设置的数字 +filename
(1)如果希望设置suid,那么就将权限位最前面(第一个短横线_所占据的)的那一位设置为4;
(2)如果希望设置guid,那么就将权限位最前面的那一位设置为2;
(3)如果希望两者都置位,那么将权限位最前面的那一位设置为4+2。

下面给出几个例子:

chmod 4755 filename-->rws r-x r- x文件被设置了suid,文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限
chmod 6711 filename-->rws --s --x 文件被设置了suid和guid,文件属主具有读、写和执行的权限,所有其他用户具有执行的权限
chmod 4764 filename-->rws rw- r- - 文件被设置了suid,文件属主具有读、写和执行的权限,同组用户具有读和执行的权限,其他用户具有读权限

TAG: 设置 实例 GUID guid Linux linux suid 作用

 

评分:0

我来说两句

Open Toolbar