package gokpkg import ( "log" "os" "os/exec" "syscall" ) func MustDropPrivileges() { if os.Getenv("NTP_PRIVILEGES_DROPPED") == "1" { return } cmd := exec.Command(os.Args[0]) cmd.Env = append(os.Environ(), "NTP_PRIVILEGES_DROPPED=1") cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.SysProcAttr = &syscall.SysProcAttr{ Credential: &syscall.Credential{ Uid: 65534, Gid: 65534, }, } log.Fatal(cmd.Run()) } func Reboot() { cmd := exec.Command("reboot") log.Fatal(cmd.Run()) }