我希望我的所有用户都可以运行 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:不是超级用户。
创建 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. 每次他们这样做时,它都会被记录到系统日志中。
| 归档时间: |
|
| 查看次数: |
789 次 |
| 最近记录: |