为了账号安全,请及时绑定邮箱和手机立即绑定

Go中的ForkExec和Su问题

Go中的ForkExec和Su问题

Go
天涯尽头无女友 2021-04-05 17:15:32
我编写了一个在Go中使用ForkExec的程序。command := "/bin/su -c '/bin/ls -lh / >/tmp/sC0X3kASz7' joe"pid, err := os.ForkExec(command, []string{}, os.Environ(), "", []*os.File{nil, cmd.Stdout, cmd.Stderr})如果您在Shell上执行该命令,您cat /tmp/sC0X3kASz7是否会看到列出的文件。但是,上面的ForkExec仅创建文件,并且在其中不写入任何内容。知道为什么会这样吗?走是根。编辑:command := "/bin/ls -lh / >/tmp/sC0X3kASz7"也不起作用,只是尝试。它甚至没有创建/ tmp文件。edit2:command := "/bin/bash /tmp/command.txt"我将上述命令放入该txt文件中,再次,从Shell执行,从ForkExec创建文件-不,:(edit3:解决方案在这里http://code.google.com/p/go/issues/detail?id=428
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

用户joe是否可能出于某种原因而无法列出/?stderr似乎无处可去。


查看完整回答
反对 回复 2021-04-26
  • 1 回答
  • 0 关注
  • 284 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信