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

转到fork / exec权限被拒绝错误

转到fork / exec权限被拒绝错误

Go
梵蒂冈之花 2021-05-06 14:41:41
我最近使用CentOS 6.3将Go安装到了我们的服务器上。安装似乎一切正常。但是,我制作了一个测试“ hello world”脚本,运行时得到以下输出。fork/exec /tmp/go-build967564990/command-line-arguments/_obj/a.out: permission denied现在运行go env或其他go命令似乎可以正常工作。起初,我认为这是一个权限问题,但是以root用户身份运行时,我会得到相同的结果。一个
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

只是猜测:出于安全原因,您的nix可能会禁用在/ tmp中执行程序。它可能在CentOS中是可配置的,但我不知道。

替代解决方案:似乎您正在尝试go run执行Go程序(与C一样是脚本)。尝试(假设$GOPATH=~,容易的可能性)代替常规构建,即代替

me:~/src/foo$ go run main.go

尝试

me:~/src/foo$ go build # main.go should not be necessary here
me:~/src/foo$ ./foo

这种方法仍将使用/ tmp-whatever来创建二进制文件IIRC,但不会尝试从那里执行它。

PS:请勿以超级用户身份运行这些命令。无需使用正确的设置。


查看完整回答
反对 回复 2021-05-31
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

我今天遇到了这个问题,但是上面的解决方案不起作用。我的矿山是通过简单地运行来解决的:

$ export TMPDIR=~/tmp/

然后我可以使脚本运行:

$ go run hello.gohello, world

唯一的缺点是您必须在export TMPDIR每次运行应用程序时都运行。


查看完整回答
反对 回复 2021-05-31
  • 3 回答
  • 0 关注
  • 528 浏览
慕课专栏
更多

添加回答

举报

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