标签搜索

目 录CONTENT

文章目录

Linux 中设置普通用户执行特定命令时可以使用sudo并且不需要输入密码

沙漠渔
2022-11-07 09:35:04 / 0 评论 / 0 点赞 / 1,503 阅读 / 640 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-11-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

问题背景

在执行自动化脚本时,经常会遇到为了保证系统安全,使用特定用户进行服务器操作,避免出现服务器安全问题,但是又会带来一些问题,就是执行sudo时可能会要求输入密码,这样就会出现了交互问题,无法实现自动化任务执行。

解决方案

可以通过配置 sudoers 文件允许某些用户运行 sudo 执行特定命令不要求输入密码,既避免安全问题,又避免输入密码。
将用户添加到 sudoers文件,sudoers 文件包含确定用户和组的 sudo 权限的信息,向下滚动到文件的末尾并添加以下行,该行允许用户 “sammery” 使用 sudo 运行任何命令而无需开始询问密码:

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

sudo vi /etc/sudoers 可以使用 sudo visudo 代替
用户名(sammery)为自己用户的名字,请按真实情况修改

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

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

在/etc/sudoers文件

sudo vi /etc/sudoers
sammery ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv

这样只运行用户在运行mkdir 和 mv 命令时不需要输入密码

0
广告 广告

评论区