fork/exec /usr/bin/sh: operation not permitted exit status 1
我的环境 win10, wsl2,ubuntu20.04
解决方案:设置wsl默认用户为root
sudo nano /etc/wsl.conf
加入下面这四行内容
[boot]
systemd=true
[user]
default=root
ctrl + x 退出nano编辑器,按y确认保存,按回车保存文件
重启wsl2: wsl.exe --shutdown
然后重新打开wsl2,执行对应代码就可以啦
package main
import (
"os/exec"
"syscall"
"os"
"log"
)
func main(){
cmd := exec.Command("sh")
cmd.SysProcAttr = &syscall.SysProcAttr{
Cloneflags: syscall.CLONE_NEWUTS,
}
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil{
log.Fatal(err)
}
}