首页 > 解决方案 > 如何以特定用户身份执行和登录?

问题描述

我需要像在其他用户上一样运行命令/shell 脚本。标准输出应写入日志文件。

我试过这样:

export LOGDIR=foo/bar
sudo -u www command /home/www > /home/www/$LOGDIR/command.log

但我总是得到这个错误:

-bash: /home/www/foo/bar/command.log: Permission denied

您可以通过这个愚蠢的小示例轻松尝试:

sudo -u edeviser ls /home/edeviser > /home/edeviser/$LOGDIR/ls.log

我看到问题是,重定向>不是作为'-u'选项指定的用户完成的。

如何执行命令并以同一特定用户身份登录?

标签: bashshellpermissionsstdoutsudo

解决方案


export logdir="foo/bar"
sudo -u www command /home/www |sudo -u www dd of="/home/www/$logdir/command.log"

推荐阅读