【发布时间】:2014-03-12 17:47:31
【问题描述】:
在类似 UNIX 的系统中,我们有用户模式和内核模式。有些指令在用户模式下无法访问。但是,当我们执行sudo 时,我们可以访问我们操作系统的许多关键部分,执行关键操作。
我的问题是:当一个程序在sudo模式下执行时,整个程序是在内核模式下运行的吗?还是sudo 模式只是一个管理用户,其权限只是内核可以执行的操作的子集?
【问题讨论】:
-
这是管理员模式,不是内核模式。
-
不,以超级用户身份运行的用户空间进程仍然是用户空间进程,而不是在内核上下文中运行的东西。但是,超级用户可能具有更改内核代码的能力,例如通过要求内核加载模块或修改启动时加载内核的存储。最后,在某些情况下,超级用户可能能够执行将原始硬件或内存暴露给用户空间访问的调用,然后可能从用户空间做一些通常只能从内核空间完成的事情。
-
每个用户空间进程都在特定的用户帐户下运行。
root本质上只是另一个用户帐户;它恰好比其他用户帐户拥有更多权限。根进程仍然在用户空间(或执行系统调用时在内核空间)运行。
标签: linux unix linux-kernel operating-system sudo