当前位置: 首页>>技术教程>>正文


如何取消currently-applied剩余的sudo time-out?

,

问题描述

当我刚刚运行sudo,并且不希望它在time-out的正常持续时间内保持活动状态时,如何取消剩余的活动time-out?

sudo -k会将其杀死当前的终端会话,但如果某个进程当前正在该会话中运行,因此无法运行sudo -k,是否有办法从其他终端会话中取消它?

有没有办法取消所有当前应用的sudo时间(对于所有终端会话,以及所有gksudo正在运行的应用程序等?

虽然,考虑到它,可能只需要关闭正在运行的GUI,但我只是检查了Alt + F2使gksu保持活动以进行后续调用。

最佳解决办法

不确定你是否要杀死一个sudo超时因此它不会超时或因此立即超时,但如果你想删除剩余的时间戳你可以使用sudo -k

否则,如果您尝试取消超时,以便sudo不会超时,我认为在当前会话中不可能这样做。我知道的唯一方法是更改​​sudoers文件中的timestamp_timeout并重新启动会话。

次佳解决办法

只是在你的一点上:

but if a process is currently running in that session and so can’t run sudo -k

这是特定于命令行的,如果您想在其他进程运行时执行任何操作,可以按Ctrl + Z暂停该过程;然后再次访问当前终端,做任何你喜欢的事情。完成后,您可以键入jobs以获取进程列表,旁边有一个数字。键入fg 1(例如 – 如果只有一个作业,则只需fg)重新启动进程,将其提升到前台。同样,bg做同样的事情,但让进程在后台运行。

示例会话

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....

第三种解决办法

我找到了解决方案。因为我的搜索没有显示任何相似内容,这是一个常见的问题:sudo存储在文件系统的某个地方(例如在/var /run /sudo中),每个user-name一个目录,几个文件用作time-stamp,一个文件用于每个终端。删除这些文件,您的系统再次安全。请记住,这些文件只对root可见(否则入侵者可能会读取time-stamp并将clock-time设置回它们仍然有效的位置 – 向任何人授予root-ls是危险的)。因此在我的/etc /pm /sleep /中也可能是我运行的屏幕保护程序:

rm -f /var/db/sudo/*/*

作为当然的根…

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2624.html,未经允许,请勿转载。