ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SUID 与 SGID - 使普通用户可以完成特定用户权限才能完成的任务

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

原创 Linux操作系统 作者:tolywang 时间:2014-06-09 22:42:38 0 删除 编辑

 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博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1179194/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695429