2

我有兴趣编写一个作为内核服务运行的程序。但首先我是否正确,如果程序作为内核运行,这会覆盖 Linux/Unix 系统上超级用户的权限吗?

4

1 回答 1

4

您要开发的称为“内核模块”。是的,内核模块线程在系统中可以做什么没有限制,包括破坏一切。

这是了解这些的一个很好的起点:

http://lwn.net/Kernel/LDD3/

令人惊讶的是,可以在 Linux 内核空间中运行“普通”应用程序,以获得一些额外(但次要)的好处。该机制称为“内核模式 linux”,可作为补丁使用:

http://www.yl.is.su-tokyo.ac.jp/~tosh/kml/

但是从您的问题来看,您可能想做相反的事情:开发一个内核服务,该服务受益于用户空间中可用的额外保护。这也通过 UIO 子系统(在主内核树中)得到支持:

http://lxr.linux.no/linux+v3.12/Documentation/DocBook/uio-howto.tmpl

于 2013-11-12T06:31:58.703 回答