如何给每个人对 HPC 集群中所有节点的 sudo 权限

How to give everyone sudo permission on all nodes in HPC cluster

我有一个 100 节点的 CentOS 7.5 HPC 集群,我想授予所有人 运行 所有节点上 root 拥有的脚本的权限,/usr/sbin/dropcaches.sh

登录所有 100 个节点并执行 visudo 将非常痛苦并且容易出错。

是否可以在头节点上的 /etc/sudoers.d 中创建一个文件,然后将其 cp 到集群中的每个节点,让每个人都有权执行 /usr/sbin/dropcaches.sh?

非常感谢 M

我会回答我的问题。

我正在使用 Centos 7.5,您只需在 /etc/sudoers.d 中添加一个文件,其中包含您想要的命令。

所以对我来说,我希望每个人都能够 drop_caches 在 运行 他们的 HPC 工作之前:

我创建了一个名为 /etc/sudoers.d/dropcaches 的文件,它看起来像:

ALL ALL=NOPASSWD:/usr/sbin/dropcaches.sh

和/usr/sbin/drop_caches.sh 的内容:

#!/bin/bash
echo 3 > /proc/sys/vm/drop_caches

所以现在每个人都可以发布

sudo dropcaches

在他们想要使用的集群中的每个节点上