如何跨父/子进程授予 sudo 权限?

如何跨父/子进程授予 sudo 权限?

我正在研究 sudo grant 如何跨父/子进程工作,但是,我很困惑。

如果我打开终端(模拟器,在图形环境中),并执行:

$ sudo bash -c "sudo -v"
# I'm asked the password
$ sudo -v
# I'm not asked the password

我可以看到,如果子进程被授予 sudo 权限(通过子 shell),则父进程(当前 shell)也会被授予这些权限。

但是,如果我在同一个终端模拟器中打开一个新选项卡,然后执行:

$ sudo -v

现在我被要求输入密码。

由于两个 shell/选项卡都是同一终端仿真器进程的子进程,因此与简单的父/子关系相比,sudo 授予基于不同/附加的内容。

我已经检查了 sudo 手册页,但是,它似乎不包含此特定信息。

与父/子进程相关的权限是如何精确授予的?

答案1

我可以看到,如果子进程被授予 sudo 权限(通过子 shell),则父进程(当前 shell)也会被授予这些权限。

不,孩子不会影响父母。

第二个sudo不需要密码,因为您在第一个之后运行它不到 5 分钟。

sudo另一个窗口中的shell在不同的 shell 中运行,该 shell 具有与第一个窗口中的 shell 不同的凭据缓存。缓存为空,因此需要密码。

相关内容