Added a simple chroot jail thing, but I'm pretty sure I'm forgetting a step.

master
Zed A. Shaw 2 days ago
parent bddc747c8b
commit 862884622f
  1. 4
      Makefile
  2. 18
      cmd/landmine/main.go

@ -5,10 +5,10 @@ build:
clean:
rm dentata landmine
run_server:
run_server: build
./dentata
run_mine:
run_mine: build
./landmine
docs:

@ -5,6 +5,7 @@ import (
"net"
"log"
"sync"
"syscall"
)
func handleConnection(conn net.Conn) {
@ -37,6 +38,20 @@ func listener(addr string) {
}
}
func ChrootJailLOL() {
err := syscall.Chdir("tmp")
if err != nil { panic(err) }
err = syscall.Chroot(".")
if err != nil { panic(err) }
err = syscall.Setuid(1000)
if err != nil { panic(err) }
syscall.Setgid(1000)
if err != nil { panic(err) }
}
func main() {
var wg sync.WaitGroup
@ -46,5 +61,8 @@ func main() {
})
}
//BUG: ain't no way this works, learn to do it right
ChrootJailLOL()
wg.Wait()
}

Loading…
Cancel
Save