如何使用非 root 用户帐户仅允许特定脚本以 root 身份运行,而不需要 sudo 访问所有内容?

如何使用非 root 用户帐户仅允许特定脚本以 root 身份运行,而不需要 sudo 访问所有内容?

我有一个 bash 文件,Web 开发人员需要偶尔运行一次,其中包含重置某些文件权限的命令。这些命令必须在根安全上下文下运行。我想允许开发人员执行该文件并以 root 身份运行。但是,我不想向开发人员授予对整个服务器的 sudo 访问权限,而只是授予运行此 bash 文件的根上下文。在 Redhat 上配置此功能的最佳方法是什么?

答案1

但是,我不想向开发人员授予对整个服务器的 sudo 访问权限,而只是授予运行此 bash 文件的根上下文。

当您可以设置 sudo 以允许用户运行单个 bash 脚本时,为什么要授予对整个服务器的访问权限?

cat /etc/sudoers.d/script4username
username  ALL=(ALL)  NOPASSWD: /path/to/script

答案2

事实证明,这sudo是适合您想做的事情的工具。

您可以设置sudo for fine grained access control: Both WHO什么。读man sudoers。还要确保用户具有对该脚本或其包含目录的写入权限。

注意:用于visudo编辑 sudoers 文件。它会检查错误,错误可能会让你被锁定。还要让根终端保持运行,以防万一。

相关内容