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

被折叠的 条评论
为什么被折叠?



