扩大 sudo 的范围?

扩大 sudo 的范围?

可以使用sudo单个命令以超级用户权限运行它:

sudo echo "hi"

但是当我使用带有命令的管道时:

sudo echo "hi" > /a.txt

超级用户权限未扩展到管道(> /a.txt)部分,并且我收到拒绝权限的错误:

bash:/a.txt:权限被拒绝

我的问题是:

sudo是否存在一种语法可以让我扩展上面的范围,以便也能在管道部分工作?

答案1

在提升 root 权限的 shell 中运行该命令,然后你的 I/O 重定向也将以 root 身份完成:

sudo bash -c 'echo "hi" > /a.txt'

如果你不想创建子 shell 来执行此操作,可以使用以下解决方法tee

echo "hi" | sudo tee /a.txt > /dev/null

其他资源:

相关内容