bash - 如何以特定用户身份执行和登录?
问题描述
我需要像在其他用户上一样运行命令/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'选项指定的用户完成的。
如何执行命令并以同一特定用户身份登录?
解决方案
export logdir="foo/bar"
sudo -u www command /home/www |sudo -u www dd of="/home/www/$logdir/command.log"
推荐阅读
- python - 当您使用 python 输入 DOB 时,创建一个以年为单位打印您的年龄的函数
- html - 如何使滚动条覆盖内容
- python - Pandas 删除所有 0,直到多索引的每个级别中的第一个非零值
- ocaml - 如何从 Windows 的命令行运行 Ocaml 函数
- c - 在任何情况下将 const 多次放在变量上会有用吗?
- python - 拉直图像中的最大线
- c# - 如何一次销毁多个游戏对象?
- python - 在 PyQt5 中,如果您有多个复选框,如果不是一个特定的复选框,但任何一个被选中,如何指导其发挥作用?
- regex - 搜索标题并从相应列返回下面的所有值
- asp.net-core - 数据保护 API:旧密钥的密钥轮换和生命周期