linux - 将输出重定向为不同的用户

标签 linux pipe sudo redirectstandardoutput

<分区>

我需要 sudo 作为不同的用途来执行某个命令。我正在尝试将 strace 与它一起使用,并将其输出重定向到一个文件中以供进一步分析。棘手的部分是,作为 sudo'ed 用户,我没有权限写入我想要保存我的文件的位置。(并且没有 sudo'ing 我没有权限开始执行该命令) .

那么如何以用户 A 身份执行我的命令,并将其输出重定向为用户 B?

最佳答案

尝试:

sudo sh -c "command > output.txt"

通过这种方式,您应该能够运行任何命令并在任何地方编写。

如果你真的需要,出于某种我不明白的原因,以用户A执行命令并以用户B写入,你可以执行以下操作:

sudo -u 命令 | sudo -u B tee/somewhere >/dev/null

其中 A 和 B 是您想要的用户。 >/dev/null 部分仅在不希望命令输出也被重定向到 stdout 时才需要。

关于linux - 将输出重定向为不同的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11291267/

相关文章:

linux - 我如何恢复到以前的 SVN 提交?

angular - 是否有应用 Angular 顺序/顺序管道?

c - Unix 管道接受输入但不显示输出

windows - 在 Cygwin 上找不到 sudo 命令

sqlite - Centos sudo yum 更新失败

Unix:sudo-mv-chown 组合的命令?

c - 列出 C 目录上的文件

python - 实时获取 shell 输出并将所有输出存储在变量中

linux - 在 amazonmanaged 区 block 链上将成员添加到现有的 hyperledger Fabric 1.2 网络

mysql - 如何将 bzip 的输出通过管道传输到 mysql,以将数据直接从 bzip 压缩文件恢复到数据库中