首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 中不输入密码运行 sudo 命令的方法

Linux 中不输入密码运行 sudo 命令的方法

作者头像
砸漏
发布2020-10-19 10:05:36
15.5K0
发布2020-10-19 10:05:36
举报
文章被收录于专栏:恩蓝脚本恩蓝脚本

sudo命令允许受信任的用户作为另一个用户运行程序,默认情况下是root用户。如果您在命令行上花费了大量时间,那么sudo将会是您一直使用的命令之一。

通常,要授予sudo访问权限,请将用户添加到sudoers文件中定义的sudo组。在Debian,Ubuntu及其衍生产品上,sudo组的成员在基于RedHat的发行版(如CentOS和Fedora)上获得sudo权限,sudo组的名称是wheel。

在运行sudo命令之前,系统将提示该组的每个成员输入密码。这增加了额外的安全层,是向用户授予sudo权限的首选方式。

如下图:

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

将用户添加到Sudoers文件

sudoers文件包含确定用户和组的sudo权限的信息。

您可以通过修改sudoers文件或将配置文件添加到/etc/sudoers.d目录来配置用户sudo访问权限。此目录中的所有文件都包含在sudoers文件中。

在进行任何更改之前,最好备份当前文件:

linuxidc@linuxidc:~/www.linuxidc.com sudo cp /etc/sudoers{,.backup_(date +%Y%m%d)}

date命令会将当前日期附加到备份文件名。

使用visudo命令打开/etc/sudoers文件:

sudo visudo

更改sudoers文件时始终使用visudo此命令检查后编辑,如果存在语法错误,则不会保存更改。 如果使用文本编辑器打开文件,语法错误将导致丢失sudo访问权限。

在大多数系统上,visudo命令使用vim文本编辑器打开/etc/sudoers文件。 如果您没有使用vim的经验,可以使用其他文本编辑器。 例如,要将编辑器更改为GNU nano,您将运行:

sudo EDITOR=nano visudo

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

/etc/sudoers

linuxidc ALL=(ALL) NOPASSWD:ALL

如下图:

不要忘记使用您要授予访问权限的用户名更改“linuxidc”。

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

例如,要仅允许使用mkdir和mv命令:

在/etc/sudoers文件

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

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

使用/etc/sudoers.d

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

打开文本编辑器并创建文件:

sudo nano /etc/sudoers.d/linuxidc

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

/etc/sudoers.d/linuxidc

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

linuxidc ALL=(ALL) NOPASSWD:ALL

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

总结

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

以上所述是小编给大家介绍的Linux 中不输入密码运行 sudo 命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ZaLou.Cn网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档