SUID 与 SGID - 使普通用户可以完成特定用户权限才能完成的任务

本文详细解释了Linux文件权限中的SUID(Set UserID)和SGID(Set Group ID),如何通过命令修改文件权限以实现SUID和SGID,以及启用这些权限的目的和潜在风险。

 AIX 6.1 ,  Linux 6 

      使用 ls -l 命令查看文件的访问权限,通常都是 r w x , 但有时会发现有些文件的执行权限位不是 "x" 而是 "s". 如:

-rwsr-s--x   1  oracle    dba        25942  Jun  8 11:48  oracle

这说明 oracle 文件被设置了SUID (Set User ID) ,  SUID 表示"设置用户ID",SGID (Set Group ID) 表示"设置组ID"。当用户执行一个设置了SUID文件时,用户ID在程序运行过程中被置为文件拥有者的用户ID。如果文件属主是 root,当用户在程序的执行过程中就成为 root 用户,有着与 root 同样的权限。 比如以oracle用户登录执行owner为grid的文件,如果这个文件设置了SUID,  那么oracle用户在执行这个文件时就拥有了grid用户相当的权限 。    同样,当一个用户执行设置了SGID文件时, 用户的属组在程序执行过程中被置为文件的属组。

 
修改方法:     
$ chmod 4xxx filename 为文件设置 SUID ( x 是 0 ~ 7 的一位数字)    -- 用户位置的 x 会变成 s
        等价于   chmod   u+s   filename
$ chmod 2xxx filename 为文件设置 SGID            -- 所属组位置的 x 会变成 s
       等价于  chmod g+s  filename
$ chmod 6xxx filename 为文件设置 SUID 和 SGID      -- 所属用户和组位置的 x 会变成 s
       等价于  chmomd ug+s  filename

这样设置的目的有时候是为了方便用户操作, 比如将某执行文件的属主改为 root 并设置 SUID, 这样当系统管理员不在的情况下,一般用户也可以处理一些常见的系统问题。 当然这样设置也会带来一些安全隐患。  用户若无特殊需求,不应该启用这些权限,避免安全方面出现严重漏洞,造成黑客入侵 。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1179194/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-1179194/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值