linux - 是否可以在当前 shell 中禁用 sudo 超时?
问题描述
某些应用程序(例如yay)使用 sudo 以 root 身份运行某些命令。这意味着我必须坐在终端前,等到 sudo 提示我输入密码,然后手动输入密码才能继续。我可以通过首先以 sudo 身份运行命令来避免这种情况(如sudo -v
)。这样,yay 可以以 sudo 的身份运行命令,而不会提示我输入密码。
但有时,应用程序需要很长时间才能安装,以至于 sudo 会话超时(15 分钟)并且 sudo 会重新提示我输入密码。由于发生这种情况时我通常会离开计算机或切换到其他工作区,因此 sudo 密码提示通常会超时,这非常烦人。
我不想完全禁用 sudo 超时,因为它的存在是有原因的。但是,当我预计使用 sudo 的命令需要很长时间时,我希望能够仅对当前 shell 禁用 sudo 超时。
就像是:
sudo --disable-timeout
现在我应该能够在当前 shell 中运行 sudo ,而无需重新输入我的密码,或者直到我运行sudo -k
.
这样的事情可能吗,还是我必须编写一个包装脚本来定期为我刷新 sudo 会话?
解决方案
对于当前的 shell ,似乎没有简单的方法可以做到这一点,但您可以全局设置超时。
为了设置与默认值(=15 分钟)不同的超时(全局),您可以编辑/etc/sudoers
:
sudo visudo # opens /etc/sudoers for editing
# change the following line:
# Defaults env_reset
# to:
Defaults env_reset,timestamp_timeout=30 # timeout in minutes
或者:
cd /etc/sudoers.d
sudo visudo -f username
Defaults env_reset,timestamp_timeout=30 # timeout in minutes
特殊值:
-1
: 没有超时0
: 每次都会提示
推荐阅读
- mongodb - mongodb $near 查询文档是否有地理位置
- c# - WPF .net core 3.0 中的打印问题
- reactjs - React Hook React.useEffect 缺少一个依赖项:'loadData'。包括它或删除依赖数组
- android - 如何在 Android API 29 中以编程方式创建文件夹
- xamarin - Xamarin Forms WebView 打开外部链接
- jquery - 更改没有“Id”的标签的颜色
- python - 从不同的文件夹加载 sklearn 模型
- reactjs - 我们可以像 useEffect 一样限制 ComponentDidUpdate 吗?
- java - 当我放置瞬态标签时,为什么休眠会给我这个错误?
- java - 如何在 Jfrog Artifactory 中部署 100 个 jars