package mainimport ( "log" "syscall")func main() { setuidErr := syscall.Setuid(0) if setuidErr != nil { log.Fatal(setuidErr) }}當我運行上面的代碼時,我收到以下錯誤:操作不支持退出狀態 1去版本:1.15.5誰能幫我?
2 回答

神不在的星期二
TA貢獻1963條經驗 獲得超6個贊
syscall.Setuid()在 Linux 上的 go 1.16 中已修復。你可以下載 go 1.16 如下:
$ go get golang.org/dl/go1.16
$ ~/go/bin/go1.16 download
嘗試編譯:
$ ~/go/bin/go1.16 build prog.go
你會得到一個不同的錯誤:“操作不允許”。這是防止微不足道的特權升級的內核......
您想做以下一項或多項:
$ sudo /sbin/setcap cap_setuid=ep ./prog
或者,
$ sudo chown root ./prog
$ sudo chmod +s ./prog
現在,當您運行命令時,它不會記錄錯誤:
$ ./prog
$ echo $?
0
- 2 回答
- 0 關注
- 312 瀏覽
添加回答
舉報
0/150
提交
取消