设置sudo免密登录配置
-
配置
打开终端,使用visudo命令编辑sudoers文件,以允许指定命令在不需要密码的情况下以root权限运行。添加以下行到文件中:bash your_username ALL=(ALL) NOPASSWD: /home/work/script/check_and_start_service.sh替换
your_username为你的用户名。这将允许你的用户在执行/home/work/script/check_and_start_service.sh时无需输入密码。 -
保存并退出:
在
nano编辑器中,按下Ctrl + O来保存文件,然后按下Enter,最后按下Ctrl + X来退出编辑器。在visudo编辑器中,按照编辑器的指示保存并退出。
这样,你的脚本将在系统启动后自动运行,并且每隔10秒运行一次,而且不需要输入密码。确保你的脚本文件 /home/work/script/check_and_start_service.sh 具有执行权限,你可以使用 chmod +x /home/work/script/check_and_start_service.sh 命令给予执行权限。
在/etc/sudoers.d/下添加免密配置文件
在/etc/sudoers.d/目录下添加配置文件是一种良好的实践,因为它允许你以模块化的方式管理sudo权限,而不必修改主sudoers文件。下面是如何在/etc/sudoers.d/目录下添加配置文件的步骤:
1. 打开终端以获取超级用户权限。你可以使用sudo命令:
```
bash
sudo -i
```
使用文本编辑器(比如nano或vim)创建一个新的sudoers配置文件。例如,假设你要创建一个文件来配置一个用户(比如your_username)可以以无密码方式运行特定的命令,你可以运行:
```
bash
visudo -f /etc/sudoers.d/decoder_config
```
这将使用`visudo`编辑器打开一个新文件`/etc/sudoers.d/decoder_config`,你可以在其中添加你的`sudo`规则。
在新的sudoers配置文件中,添加你的sudo规则。例如,要允许用户your_username以无密码方式运行/path/to/your/command,可以添加以下行:
```
# your_username ALL=(ALL) NOPASSWD: /path/to/your/command
nvidia ALL=(ALL) NOPASSWD: /home/work/script/check_and_start_service.sh
```
这会将指定的用户添加到`sudoers`文件,并授予他们无密码执行特定命令的权限。
保存和退出编辑器。在visudo编辑器中,按照编辑器的指示保存并退出。
检查配置文件权限:确保新创建的sudoers配置文件的权限是正确的,只有超级用户可以读取它。运行以下命令:
```
bash
chmod 440 /etc/sudoers.d/decoder_config
```
这将设置文件权限为`-r--r-----`,确保只有`root`和`sudo`组的成员可以读取它。