允许所有用户以 root 身份执行 bash 脚本

1 bash root

我希望我的所有用户都可以运行 bash 脚本。但是这个 bash 脚本需要有 root 权限,我希望这个脚本是只读的并且以 root 权限运行

我的 bash 脚本:

#!/bin/bash
/sbin/swapoff -a
Run Code Online (Sandbox Code Playgroud)

在我的搜索中,我找到了解决方案,但它不起作用,这是解决方案:

# chown root:root monshell.sh
# chmod 4755 monshell.sh
# exit
$ ./monshell.sh
Run Code Online (Sandbox Code Playgroud)

但是当我使用基本用户运行时出现此错误:swapoff:不是超级用户。

And*_*man 6

创建 su root bash 脚本很危险。bash 脚本太容易以您不希望运行其他命令的方式进行操作。每个新的 su root 可执行文件都是一个新的安全风险。

授予此类权限的首选方法是使用 sudo。创建文件/etc/sudoers.d/swapoff,如下:

ALL ALL = /bin/swapoff -a
Run Code Online (Sandbox Code Playgroud)

然后所有主机(第二个 ALL)上的所有用户(第一个 ALL)都可以运行sudo /bin/swapoff -a. 每次他们这样做时,它都会被记录到系统日志中。