如何立即忘记上次的 sudo 用法

How to immediately forget last sudo usage

我正在尝试用 C++ 编写一个程序,如果它没有 sudo 权限,它将请求它。我已经通过 execl("/usr/bin/sudo", "sudo", argv[0]); 实现了这一点,但我最大的问题是尝试对其进行测试。有没有办法让系统忘记我最近使用过 sudo 以便我可以 运行 并再次请求访问?

sudo -k 使凭据无效。

编辑:

您可以调用 sudo -K(大写 K)命令来使凭据无效,但是可以通过将 -k 标志添加到 argv 来使用它(甚至可能基于构建配置)

执行以下步骤更改默认超时。 sudo visudo

向下滚动并在末尾添加以下行: Defaults:user_name timestamp_timeout=0

1) 将 user_name 更改为您的实际用户名。

2) 将 10(以分钟为单位)更改为您想要的任何值。 -1 的值将使其无限(对于单个会话)。

3) 按 Ctrl-X 然后按 Y。 大功告成!

Reference