Chinaunix首页 | 论坛 | 博客
  • 博客访问: 327183
  • 博文数量: 100
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 665
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-02 12:43
文章分类

全部博文(100)

文章存档

2015年(100)

我的朋友

分类: LINUX

2015-06-08 14:20:24

进程pid和ppid、进程的uid和euid、用户的uid和gid、文件的创建者和所有者的关系辨析


1、当我们创建用户时,由我们为新建用户命名和设置密码,同时系统会为我们所创建的用户名关联一个号,就是所谓的用户uid。同时我们还可以把这个用户放到某个用户群里,类似的,用户群也可以我们手工建立。如果建立用户时,不指明所建的用户属于哪个用户群,则系统会自动建立一个跟用户名同名的用户群。不管手工建立还是自动建立,系统都会为用户群关联一个号,这个号称之为gid。用户uid所属的群的gid就是用户的gid。


2、系统在运行每个进程时都会关联几个号,分别为pid、ppid、uid、euid。进程的pid为运行进程时,系统自动分配的,用于唯一标识此进程的一个整数。进程的ppid就是进程的父进程的pid。同时,系统还会为运行的进程分配一个进程uid和进程euid,用于判断文件的执行权限。一般情况下,进程uid和进程euid等于运行这个进程的用户uid。对于某文件,它的执行权限分成文件拥有者、文件拥有者同组、其他用户三组,从而分成三个级别。用户euid的作用就是于此。通过比较euid是属于文件的哪个组,从而决定属于文件执行权限的哪个级别,那么这个进程就拥有对该文件什么级别的执行权限。另外,如果可执行文件的setuid位有效,则运行这个可执行文件时,进程uid还是用户的uid,而进程euid则会暂时被修改成该可执行文件的所有者用户uid,直到该进程结束。一句话,在某个进程中,进程pid和ppid是唯一标识该进程的,它不会改变,而进程uid与运行该进程的用户uid相同,进程euid则与uid相同,只有运行设置了setuid位的文件时才会把euid改为这个文件的所有者用户uid。进程gid和进程egid则类似。

阅读(6085) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~