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

吾爱主题 阅读:173 2024-04-05 15:05:40 评论:0

 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文件中。

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

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 命令的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

原文链接:https://www.linuxidc.com/Linux/2019-07/159222.htm

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容