![如何自动将自动任务提升为 root 权限,或者是否有其他方法?](https://linux22.com/image/48607/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E5%B0%86%E8%87%AA%E5%8A%A8%E4%BB%BB%E5%8A%A1%E6%8F%90%E5%8D%87%E4%B8%BA%20root%20%E6%9D%83%E9%99%90%EF%BC%8C%E6%88%96%E8%80%85%E6%98%AF%E5%90%A6%E6%9C%89%E5%85%B6%E4%BB%96%E6%96%B9%E6%B3%95%EF%BC%9F.png)
本质上,我正在尝试编写一个供我们的开发团队使用的自动部署脚本,并且我知道我可以将 SSH 设置为使用密钥,以便我可以通过密钥而不是密码自动进行身份验证,以执行远程命令;但是,我坚持的是,需要执行部署的任务要求我们重新启动需要 root 权限的新贵作业。我在互联网(和这里)上环顾四周,但大多不成功并找到解决方案。
问题:有没有办法远程(并且自动地,脚本不受监控,因此 sudo 所需的密码身份验证将不起作用)提升到 root 权限以重新启动作业或为用户组提供执行此操作的能力?
答案1
您可以为特定命令启用无密码 sudo。
# /etc/sudoers (edit with visudo)
# For a specific user/command combo
izuriel ALL=NOPASSWD:/bin/true
# For a specific command, any user in group sudo.
%sudo ALL=NOPASSWD:/bin/true
答案2
您可以执行 sudo 无需密码;只需在 sudoers 文件中在命令前面加上 NOPASSWD: 即可。