bash - 在 root shell 中运行没有特权的命令

标签 bash

我有一个以 root 权限运行的脚本,并且我有一个命令不能以脚本执行的那些权限运行。我需要一种在没有这些权限的情况下运行该命令的方法。

据我所知,我可以使用 sudo 等工具以其他用户身份运行命令。但这样做需要事先知道要使用的用户名(或 ID)。这也会引发一两个安全问题。

我的问题是:是否可以在没有提升权限的情况下以 root 身份简单地运行该命令?如果没有,是否有合适的替代方案?

最佳答案

您确实可以使用 sudo 以降低的权限运行命令,如下所示:

sudo -u USERNAME COMMAND

或更好

sudo -u USERNAME -g GROUPNAME COMMAND

请注意,这需要在 sudoers 文件中输入正确的条目。

如果您不知道用户的名称并且只想以较低的权限运行命令,您可以使用用户 nobody 和组 nobodynogroup

关于bash - 在 root shell 中运行没有特权的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861673/

相关文章:

linux - 使用 bash 脚本和使用 case 语句

bash - 使用 ed 操作 find 匹配的文件

linux - 运行命令后立即重新启动安全吗?

linux - 为性能标准编写 bash 代码

c++ - 有没有办法在 C 或 C++ 中嵌入 Sh/Bash session ?

在 for 循环中 Bash 任意 glob 模式(带空格)

linux - 打印具有特定扩展名的每个文件的名称

linux - 将标准输出通过多行管道传输到单个文件

linux - 是否可以在没有 TTY 的情况下自动刷新 STDOUT/STDERR?

linux - 创建文件并将其放入文件夹 - Bash 脚本