有没有办法在Ruby脚本中保持sudo活着?即我可以要求用户在脚本的持续时间内输入一次他们的sudo密码吗?
在bash中,您可以这样做:
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
信用:Cowboy
答案 0 :(得分:0)
有两种情况,这两种情况都不需要您对凭据或授权进行任何程序内缓存:
用户可以使用sudo
运行任意程序。
只需要使用sudo
运行脚本,而不是在脚本中调用sudo
。假设最糟糕的是,您的用户无论如何都会这样做。
用户只能使用sudo
运行某些程序。
在这种情况下,可以假定允许用户使用sudo
运行脚本所需的命令,而不是脚本本身。任
a)您可以让系统管理员进一步配置sudo
以允许用户在没有密码的情况下运行这些命令,或者
在任何情况下,sudo
确定何时或是否需要密码都不是您的计划工作。
答案 1 :(得分:-1)
最好的方法就是这样做,我的意见如下:
向新用户授予此权限是有风险但有效的。