依据启发这个½程的用户与相关属性关系,给予这个
PID
一组有效的权限设定。
从此以后,这
PID
能够在系统上面½行的动作,就与这个
PID
的权限有关了!
看这个定义似乎没有什么很奇怪的地方,不过,您得要了½什么½做『触发事件』才行啊!
我们在
什么情况下会触发一个事件?而同一个事件可否被触发多次?呵呵!来了½了½先!
16.1.1
½程与程序
(process & program)
我们如何产生一个½程呢?其实很简单啦,就是『执行一个程序或指令』就可以触发一个事件而取得
一个
PID
啰!我们说过,系统应该是½认识
binary file
的,那么当我们要让系统工作的时候,当然
就是需要启动一个
binary file
啰,那个
binary file
就是程序
(program)
啦!
那我们知道,每个程序都有三组人马的权限,每组人马都具有
r/w/x
的权限,所以:『不同的使用
者身份执行这个
program
时,系统给予的权限也都不相同!』举例来说,我们可以利用
touch
来½
立一个空的文件,当
root
执行这个
touch
指令时,他取得的是
UID/GID = 0/0
的权限,而当
dmtsai
(UID/GID=501/501)
执行这个
touch
时,他的权限就跟
root
不同啦!我们½这个概念绘制成图示来
瞧瞧如下:
16.1.1
、程序被加载成为½程以及相关数据的示意图
如上图所示,程序一般是放置在实体磁盘中,然后透过用户的执行来触发。触发后会加载到内存中成
为一个个体,那就是½程。
为了操作系统可管理这个½程,因此½程有给予执行者的权限
/
属性等参
数,并包括程序所需要的½本与数据或文件数据等,
最后再给予一个
PID
。系统就是透过这个
PID
来判断该
process
是否具有权限½行工作的!他是很重要的哩!
举个更常见的例子,我们要操作系统的时候,通常是利用联机程序或者直½在主机前面登入,然后取
得我们的
shell
对吧!那么,我们的
shell
bash
对吧,这个
bash
/bin/bash
对吧,那么同时
间的每个人登入都是执行
/bin/bash
对吧!不过,每个人取得的权限就是不同!也就是说,我们可以
这样看: