关于Unix SUID/SGID知识概述

系统 其他OS
Unix SUID/SGID允许程序被授权,当程序被执行的时候,拥有超级用户的权限,完成时又回到普通用户的权限。这个主意很好,所以AT&T对它申请了专利。

我们这次要来了解Unix SUID/SGID的知识。有时,没有被授权的用户需要完成某项任务。一个例子是passwd程序,它允许用户改变口令,这就要求改变/etc/passwd文件的口令域。然而系统管理员决不允许普通用户拥有直接改变这个文件的权利,因为这绝对不是一个好主意。

为了解决这个问题,Unix SUID/SGID便应运而生。Unix允许程序被授权,当程序被执行的时候,拥有超级用户的权限,完成时又回到普通用户的权限。这个主意很好,所以AT&T对它申请了专利。

Unix下的一些名词简介

1.文件权限。确定用户读取、修改或执行文件的权力。
r -- 读访问
w -- 写访问
x -- 执行许可
s -- SUID/SGID
t -- sticky位

2.进程。进程是程序运行一次的过程,以完成预定的任务,它不同于程序。每个进程都有一个唯一的进程ID。此外,每个进程还有一些其他标识符:实际用户ID、实际组ID、有效用户ID、有效组ID。超级用户进程的实际用户ID和有效用户ID为0。

3.超级用户root。超级用户拥有系统的完全控制权。

Unix SUID/SGID的思路

SUID的程序在运行时,将有效用户ID改变为该程序的所有者ID,使得进程在很大程度上拥有了该程序的所有者的特权。如果被设置为SUID root,那么这个进程将拥有超级用户的特权(当然,一些较新版本的Unix系统加强了这一方面的安全检测,一定程度上降低了安全隐患)。当进程结束时,又恢复为原来的状态。

执行时的Real Uid可以通过函数setuid()改变。Unix SUID/SGID我们就大概的了解了。

【编辑推荐】

  1. 学习使用自定义Unix系统功能键
  2. 选用Unix系统交换区的指导方针
  3. Unix系统交换区动态设置及其他知识讲解
  4. Unix系统交换区类型大讲堂
  5. Unix系统数据库及通信软件的启停处理
责任编辑:小霞
相关推荐

2010-04-15 17:29:32

2010-05-06 16:45:17

Unix SUID

2010-05-10 09:25:15

Unix系统

2010-05-06 16:40:47

Unix SUID

2010-06-22 16:18:54

2010-04-21 11:54:22

Unix 命令

2010-05-24 17:46:46

SNMP协议

2010-05-11 10:43:10

Unix awk

2010-05-06 16:48:42

Unix操作系统

2010-04-13 12:27:44

Unix操作系统

2010-04-26 18:11:55

Unix文件系统

2010-05-05 17:32:29

Unix Superd

2010-05-05 13:13:55

Unix内核

2010-04-30 13:27:26

Unix cronta

2010-05-05 13:45:21

Unix Telnet

2010-04-29 16:15:26

Unix文件

2010-05-04 12:25:28

Unix链接

2010-04-30 13:38:51

Unix at命令

2010-05-04 09:22:10

Unix文件

2010-04-07 13:17:47

Unix操作系统
点赞
收藏

51CTO技术栈公众号