首页 专题 - 实验 - 软件 - 管理 - 布线 - 方案 - 配置 - 问题 - 协议 - 下载 - 交换 - 路由 - 无线 - 安全 - 认证 - Cisco - 华为 - 网吧 - ADSL
您是本帖第449位浏览者 打印

[讨论] LIDS精通与进阶(中)

LIDS精通与进阶(中)

四、保护重要进程

进程是操作系统的动态入口。内核里有两个特殊进程,进程ID 0 (swapd) 和进程ID 1(init)。Init进程是在系统启动的时候所有进程的父进程。

1、不可杀死的进程。

就象你可以看到是否有人要夺得root特权一样,我们可以很容易的杀死那些该内核发送特别信号的进程。为了杀死一个进程,你必须得到进程的ID,然后用kill命令来杀死它。

系统杀死进程的调用是kill,是在内核里的sys_kill()命令里的调用。

让我们看看LIDS的保护代码

在/usr/src/linux/kernel/signal.c里

asmlinkage int

sys_kill(int pid, int sig)

{

struct siginfo info;


#ifdef CONFIG_LIDS_INIT_CHILDREN_LOCK pid_t this_pid;

int i;

#ifdef CONFIG_LIDS_ALLOW_KILL_INIT_CHILDREN

if (!(current->flags

TOP