如何使用 sudo 创建文件以使该文件归 root 所有?

如何使用 sudo 创建文件以使该文件归 root 所有?

我只是对使用 sudo 命令创建文件感到困惑。据我所知,sudo 命令通常用于 root 权限(默认情况下),当我使用以下命令创建文件时:

sudo cat > root.txt

我看到用户,它仍然是普通用户名,而不是 root。怎么会这样?如何在不将用户更改为 root 的情况下创建 root 拥有的文件?

答案1

流重定向 ( > file) 发生在父进程中(以 身份运行$USER命令(sudo)甚至开始。

您可以使用不同的命令:

sudo tee root.txt

或者,随后更改文件的所有权:

sudo chown root:root root.txt 
  

答案2

sudo在您的示例中,重定向位于“外部” 。尝试

sudo bash -c "cat > root.txt"

相关内容