.
程序
(program)
:通常为
binary program
,放置在储存媒体中
(
如硬盘、光盘、软盘、磁带等
)
,为实体文
件的型态存在;
.
½程
(process)
:程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中,
作系统并给予这个内存内的单元一个标识符
(PID)
,可以说,½程就是一个正在运作中的程序。
.
程序彼此之间是有相关性的,故有父½程与子½程之分。而
Linux
系统所有½程的父½程就是
init
这个
PID
1
号的½程。
.
Linux
的½程呼½通常称为
fork-and-exec
的流程!½程都会½由父½程以复制
(fork)
的方式产生一个
一模一样的子½程,
然后被复制出来的子½程再以
exec
的方式来执行实际要½行的程序,最终就成为一
个子½程的存在。
.
常驻在内存当中的½程通常都是负责一些系统所提供的功能以服务用户各项任务,因此这些常驻程序就会
被我们称为:服务
(daemon)
.
在工作管理
(job control)
中,可以出现提示字符让你操作的环境就称为前景
(foreground)
,至于其他工作就
可以让你放入背景
(background)
去暂停或运作。
.
job control
有关的按键与关键词有:
&, [ctrl]-z, jobs, fg, bg, kill %n
等;
.
½程管理的观察指令有:
ps, top, pstree
等等;
.
½程之间是可以互相控制的,传递的讯息
(signal)
主要透过
kill
这个指令在处理;
.
½程是有优先级的,该项目为
Priority
,但
PRI
是核心动态调整的,用户只能使用
nice
值去微调
PRI
.
nice
的给予可以有:
nice, renice, top
等指令;
.
vmstat
为相当好用的系统资源使用情况观察指令;
.
SELinux
当初的设计是为了避免使用者资源的误用,而
SELinux
使用的是
MAC
委任式存取设定;
.
SELinux
的运作中,重点在于主体½程
(Subject)
能否存取目标文件资源
(Object)
,这中间牵涉到政策
(Policy)
内的规则,
以及实际的安全性本文类别
(type)
.
安全性本文的一般设定为:『
Identify:role:type
』其中又以
type
最重要;
.
SELinux
的模式有:
enforcing, permissive, disabled
三种,而启动的政策
(Policy)
主要是
targeted
.
SELinux
启动与关闭的配置文件在:
/etc/selinux/config
.
SELinux
的启动与观察:
getenforce, sestatus
等指令
.
重设
SELinux
的安全性本文可使用
restorecon
chcon
.
SELinux
有启动时,必备的服务至少要启动
auditd
这个!
.
若要管理预设的
SELinux
布尔值,可使用
getsebool, setsebool
来管理!
16.7
本章习题
(
要看答案请½鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看
)
.
简单说明什么是程序
(program)
而什么是½程
(process)
程序
(program)
是系统上面可以被执行的文件,由于
Linux
的完整檔名
(
/
写起
)
½能有一个,
所以
program
的档名具有
单一性。当程序被执行后,就会启动成½程
(process)
一个
program
可以被不同的使用者或者相同的使用者重复的执行成为
多个½程,
且该程序所造成的½程还因为不同的使用者,而有不同的权限,且每个
process
几乎都是独立的。
.
我½天想要查询
/etc/crontab
crontab
这个程序的用法与写法,请问我该如何在线查询?
查询
crontab
指令可以使用
man crontab
info crontab
,至于查询
/etc/crontab
,则可以使用
man 5 crontab
啰!
.
我要如何查询
crond
这个
daemon
PID
与他的
PRI
值呢?