# 重点回顾

  • 程序(program):通常为 binary program,放在存储媒体中,如硬盘、光盘、软盘等
  • 进程(process):程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个标识符 PID,可以说进程就是一个正在运行中的程序
  • 程序彼此之间是有相关性的,固有父子进程之分。而 Linux 系统所有进程的父进程就是 init 这个 PID 为 1 的进程
  • 在 Linux 的进程呼叫通常称为 fork-and-exec 的流程,进程都会由父进程以复制 fork 的方式产生一个一模一样的子进程,然后被复制出来的子进程再议 exec 的方式来执行实际要进行的程序,最终就成为一个子进程的存在
  • 常驻在内存中的进程通常都是负责一些系统所提供的功能以服务用户各项任务,因此这些常驻程序就被我妈成为:服务(daemon)
  • 在工作管理(job control),可以出现提示字符让你操作的环境就称为前景(foreground),其他工作可以让你放入背景(background)去暂停或运行
  • 与 job control 有关的案件与关键词有:$ctrl+zjobsfgbgkill %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 来管理