方法一:修改 sudoers

运行自动脚本,您可能需要配置 sudoers 文件并允许某些用户运行 sudo 命令而不要求输入密码。

我们要将用户添加到 sudoers文件,sudoers 文件包含确定用户和组的 sudo 权限的信息。

向下滚动到文件的末尾并添加以下行,该行允许用户 “nvidia” 使用 sudo 运行任何命令而无需开始询问密码:

sudo vi /etc/sudoers	# sudo visudo 也可以
nvidia ALL=(ALL) NOPASSWD:ALL

用户名(nvidia)为自己用户的名字

在你的sudo不可用的情况下pkexec su可进入你的root

pkexec visudo 进入visudo命令
直接编辑修改

ctrl + o 保存
会弹出tmp,继续回车

然后ctrl + x退出

pkexec的官方定义

allows an authorized user to execute PROGRAM as another user. 
If username is not specified, then the program will be executed as the administrative super user, root.

如果要允许用户仅运行特定命令而不输入密码,请在 NOPASSWD 关键字后指定命令。

例如,要仅允许使用 mkdirmv 命令:

/etc/sudoers文件

nvidia ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

完成后,保存文件并退出编辑器。

方法二:使用 /etc/sudoers.d

您可以使用授权规则将新文件添加到 /etc/sudoers.d 目录,而不是编辑 sudoers 文件。 这种方法将使 sudo 权限的管理更加可维护。
打开文本编辑器并创建文件:

sudo vi /etc/sudoers.d/nvidia

您可以根据需要命名文件,但通常最好使用用户名作为文件名。

添加与添加到 sudoers 文件中相同的规则:

nvidia ALL=(ALL) NOPASSWD:ALL

最后,保存文件并关闭编辑器。

总结

当您拥有非root用户需要执行管理任务的脚本时,运行不带密码的sudo非常有用。

参考链接

Sudo命令

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐