我有一个 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 文件。它会检查错误,错误可能会让你被锁定。还要让根终端保持运行,以防万一。