我有一台部署在 AWS 上的 Ubuntu 系统, 在它的里面有一个脚本, 这个脚本的原有目的是以一定间隔 (准确来说是每隔 1 分钟) 去检查某个特定服务是否正在运行, 如果这个服务因为某些原因停止了, 就自动重启这个服务. 但问题是我需要 sudo 权限来开启这个服务. 正如你所知道的那样, 当我们以 sudo 用户运行命令时, 我们应该提供密码, 但我并不想这么做, 实际上我想做的是以 sudo 用户的身份运行这个服务但无需提供密码. 假如你曾经经历过这样的情形, 那么我知道一个简单的方法来做到这点. 今天, 在这个简短的指南中, 我将教你如何在类 Unix 的操作系统中运行特定命令而无需 sudo 密码.
就让我们看看下面的例子吧.
- $ sudo mkdir /ostechnix
- [sudo] password for sk:
正如上面的截图中看到的那样, 当我在根目录 (/) 中创建一个名为 ostechnix 的目录时, 我需要提供 sudo 密码. 每当我们尝试以 sudo 特权执行一个命令时, 我们必须输入密码. 而在我的预想中, 我不想提供 sudo 密码. 下面的内容便是我如何在我的 Linux 机子上运行一个 sudo 命令而无需输入密码的过程.
- $ whereis apt
- apt: /usr/bin/apt /usr/lib/apt /etc/apt /usr/share/man/man8/apt.8.gz
来源: http://os.51cto.com/art/201903/593749.htm