前端之家收集整理的这篇文章主要介绍了
linux – sudo模式和内核模式有区别吗?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在UNIX系统中,我们有一个
用户模式和一个内核模式.有一些在
用户模式下无法访问的指令.然而,当我们做sudo时,我们可以访问我们操作系统的许多关键部分,执行关键的操作.
我的问题是:当在sudo模式下执行程序时,整个程序是否以内核模式运行?或者是这样的情况,sudo模式只是一个管理用户,其权力只是内核可以执行的操作的一部分?
没有像sudo模式这样的东西.只有
用户空间和内核空间.
正如你所说,内核模式可以执行cpu提供的任何指令,并对硬件执行任何操作.用户模式程序只能访问映射到正在运行的进程的内存,并阻止其直接访问硬件.通过系统调用机制,用户模式程序可以调用内核代码,代码将执行硬件访问,并将结果返回到用户空间.
在用户空间中,对于不是root用户(root用户ID为0)的用户还有其他限制.例如,他们只能访问某些文件,并且只能侦听编号为1024以上的TCP端口.运行sudo将以root用户身份启动一个进程,该用户没有这些限制.
但是以root用户(通过sudo)运行的进程仍然在用户空间中运行,并且仍然受到所有相同的限制.
原文链接:https://www.f2er.com/linux/393726.html