首页 帮助中心 香港大带宽服务器 Linux中无密码执行sudo命令的设置方法
Linux中无密码执行sudo命令的设置方法
时间 : 2024-12-24 11:21:08 编辑 : 华纳云 阅读量 : 311

Linux运行中每次调用sudo都需要输入密码,如果频繁需要调用可能会显的非常麻烦,华纳云在本篇中分享如何配置sudo命令在不需要输入密码情况下直接运行。

这个设置在/etc/sudoers文件中完成,该文件驱动 sudoers 使用sudo 命令的默认安全策略插件,在用户权限规范部分下。sudoers文件中默认会启用authenticate参数用于身份验证,设置这个参数用户使用sudo命令就必须通过密码或者其他身份验证。可以用nopasswd标签覆盖此默认设置:

user_list host_list=effective_user_list tag_list command_list

在 `sudo` 配置中,以下是关键参数的简述:user_list指已授权使用 `sudo` 的用户或用户组别名。host_list指定用户可以在哪些主机上使用 `sudo`。effective_user_list定义用户必须以哪些身份运行 `sudo`。tag_list包含特定标签,如 `NOPASSWD`,用于指定无密码执行 `sudo`。command_list列出用户可以通过 `sudo` 执行的命令或命令别名。

为允许用户用sudo执行全部命令无需密码,要打开sudoers文件:

$ sudo visudo

添加以下内容:

aaronkilik ALL=(ALL) NOPASSWD: ALL

对于组情况,可以使用组前的字符%,标识该组sys全部成员使用sudo可以免密码运行全部命令。

%sys ALL=(ALL) NOPASSWD: ALL

允许用户使用sudo给定命令无需密码:

aaronkilik ALL=(ALL) NOPASSWD: /bin/kill

允许组成员使用sudo无需密码:

%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm

无密码sudo可能存在一定风险,因此设置前需要了解这样操作对系统的影响。如果需要撤销无密码sudo配置可以按照以下步骤。

先打开终端,使用visudo命令:

sudo visudo

visudo编辑器中找到之前添加的允许无密码操作的sudo配置行:

kimi ALL=(ALL:ALL) NOPASSWD: ALL

或者对于用户组:

%sys ALL=(ALL:ALL) NOPASSWD: ALL

想撤销这些无密码sudo设置,可以完全移除该行,如果不行该用户/该组无密码运行sudo命令可以直接删除整行。还有一种情况是希望保留该用户或者用户组的sudo权限,但是要输入密码。可以简单删除NOPASSWD:标签,使配置行变为:

kimi ALL=(ALL:ALL) ALL

或对于用户组:

%sys ALL=(ALL:ALL) : ALL

最后保存并退出。在visudo中,可以按Ctrl+X然后按Y表示保存更改。最后按Enter键退出。配置更改后,应该测试以确保无密码sudo已经被撤销。用普通用户执行该命令:

sudo ls /root

系统提示输入密码,则说明无密码sudo设置已经撤销成功。

华纳云 推荐文章
Linux中的权限管理中su与sudo的比较 怎么在Ubuntu中新增用户并添加sudo权限? Linux云主机如何给用户添加sudo权限? linux sudo命令用不了怎么解决 Linux云服务器中怎么使用sudo命令? debian安装后sudo命令不能用如何解决 Linux下使用sudo命令不需要密码方法 如何在Ubuntu中更改sudo密码 Ubuntu sudo: pip:找不到命令
客服咨询
7*24小时技术支持
技术支持
渠道支持