作者:chaobowang@sina.com
四、保护重要进程
进程是操作系统的动态入口。内核里有两个特殊进程,进程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 & PF_KILLINITC))
#endif
if (lids_load && lids_local_load && LIDS_FISSET(lids_flags,LIDS_FLAGS_LOCK_INIT_CHILDREN)) {
this_pid = pid>0?pid:-pid;
for(i=0;i
if( this_pid == lids_protected_pid[i]) {
lids_security_alert("Try to kill pid=%d,sig=%dn",pid,sig);
return -EPERM;
}
}
LIDS精通与进阶(中)
时间: 2024-11-10 05:28:48
LIDS精通与进阶(中)的相关文章
LIDS精通与进阶(下)
作者:chaobowang@sina.com七.LIDS在内核中的安全级别 一些时候,我们需要改变保护系统的配置.那样我们该怎么做呢?LIDS给我们提供了两种方法. 我们可以重新启动系统,在LILO:里键入security=0. 我们可以在用lidsadm
LIDS精通与进阶(上)
作者:chaobowang@sina.com一.系统入侵 随着Internet上的Linux主机的增加,越来越多的安全漏洞在当前的GNU/Linux系统上发现.你也许在Internet上听说过在Linux下发现Bug,它会导致系统很容易的被黑客攻击. 因为Linux是一个开放源代码的系统,漏洞很容易发现,并且也会很快的有补丁出来.但是当漏洞没有公布的时候,并且管理员很懒,没有去打补丁.黑客就会很容易的攻击这个系统,取得root权限,在现有的GNU/Linux下,他就可以做任何他想做的事情.现在你
探究Python中的正则表达式
这篇文章主要介绍了Python中的正则表达式的一些用法,正则表达式的使用是Python学习进阶中的重要知识,需要的朋友可以参考下 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它"匹配&q
Java进阶学习(一) String类
之前的Java基础系列中讨论了Java最核心的概念,特别是面向对象的基础.在Java进阶中,我将对Java基础进行补充,并转向应用层面. 大部分编程语言都能够处理字符串(String).字符串是有序的字符集合,比如"Hello World!".在Java中,字符串被存储为String类对象.调用字符串对象的方法,可以实现字符串相关的操作. String类包含在java.lang包中.这个包会在Java启动的时候自动import,所以可以当做一个内置类(built-in class).我
精通Grails: 文件上传和Atom联合
在过去几期的 精通 Grails 文章中,您一直在逐步构建一个小型的博客服务(Blogito).在这篇文 章中,Blogito 将最终完工,成为一个实用的博客应用程序.您将为博客条目主体实现文件上传功能,并 添加自己制作的用于聚合的 Atom feed. 但是,在开始之前,请注意在上一篇文章("身份验证和授权")中,我加入的认证使 UI 中出现一 个细小的 bug.在加入新的特性之前,应该修复这个 bug. 修复隐藏的 bug 启动 Grails 时,grails-app/conf/B
精通Grails: GORM
在上个月开篇的 精通 Grails 文章中,介绍了名为 Grails 的新 Web 框架.Grails 结合了最新的实 践,例如模型-视图-控制器的关注点隔离和约定优于配置.通过将这些实践与其中内置的 scaffolding 功能结合,使用 Grails 只需花几分钟就能建立并运行起一个 Web 站点. 这篇文章的重点是使用 Grails 可以实现简化的另一领域:使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行持久化.我将首
JavaScript正则表达式中的global属性的使用
这篇文章主要介绍了详解JavaScript正则表达式中的global属性的使用,是JS学习进阶中的重要知识点,需要的朋友可以参考下 global是正则表达式对象的只读布尔属性.它指定是否一个特定的正则表达式进行全局匹配.否则它使用"g"属性创建. 语法 ? 1RegExpObject.global 下面是参数的详细信息: NA 返回值: 如果"g"修改被设置返回"TRUE",否则返回"FALSE". 例子: ? 1 2 3 4
JavaScript正则表达式中的ignoreCase属性使用详解
这篇文章主要介绍了JavaScript正则表达式中的ignoreCase属性使用详解,是JS学习进阶中的重要知识点,需要的朋友可以参考下 ignoreCase是正则表达式对象的只读布尔属性.它指定是否一个特定的正则表达式执行不区分大小写的匹配.,它与"i"属性创建. 语法 ? 1 RegExpObject.ignoreCase 下面是参数的详细信息: NA 返回值: 如果"i"修改被设置返回"TRUE",否则返回"
《AutoCAD 2013中文版从入门到精通》——1.2 设置绘图环境
1.2 设置绘图环境 AutoCAD 2013中文版从入门到精通 在AutoCAD中,可以利用相关命令对图形单位和图形边界进行具体设置. 1.2.1 图形单位设置 执行方式 命令行:DDUNITS(或UNITS) 菜单栏:"格式"→"单位 操作步骤 执行上述命令后,系统打开"图形单位"对话框,如图1-21所示.该对话框用于定义单位和角度格式. 选项说明 1."长度"与"角度"选项组 指定测量的长度与角度当前单位及当前