在 bash 脚本中增加 sudo 超时

在 bash 脚本中增加 sudo 超时

我有一个安装了很多软件的 bash 脚本。整个过程大约需要 1 小时,因此我想增加sudo超时变量。我认为可以这样做,如下所示:增加 Sudo 的持续时间

但是,我找不到任何有关命令行的描述...
就我而言,我想在脚本中进行此更改。我可以在sudo echo 'Defaults timestamp_timeout=300' >> /etc/sudoersbash 脚本的第一行放置类似以下内容:但是,这是不允许的。

答案1

我将发布我的问题的答案,以防将来其他人遇到此类问题。
感谢@steeldriver 的帮助。

事实上,最好sudo在整个脚本上使用,然后使用前缀: 来转义其中需要以用户身份运行的命令。sudo -u $SUDO_USER重要的是,当以 root 权限运行脚本时,会发生$HOME更改,因此要小心。为了引用原始用户的主页,请创建一个变量:

USER_HOME=$(sudo -u $SUDO_USER -H -s eval 'echo $HOME')

$USER_HOME然后如果需要,对带有 前缀的路径进行操作。

相关内容