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

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

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

我的bash脚本:

#!/bin/bash
/sbin/swapoff -a

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

# chown root:root monshell.sh
# chmod 4755 monshell.sh
# exit
$ ./monshell.sh

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

答案1

创建 su root bash 脚本很危险。bash 脚本太容易被操纵,以你意想不到的方式运行其他命令。每个新的 su root 可执行文件都是一个新的安全风险。

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

ALL ALL = /bin/swapoff -a

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

相关内容