server: fix setuid/guid
This commit is contained in:
@@ -207,7 +207,7 @@ func (srv *Server) Build() error {
|
||||
return err
|
||||
}
|
||||
rundir := filepath.Dir(srv.conf.Runpath)
|
||||
srv.logg.Infof("Creating run directory %s", rundir)
|
||||
//srv.logg.Infof("Creating run directory %s", rundir)
|
||||
err = os.MkdirAll(rundir, 0750)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -259,7 +259,6 @@ func (srv *Server) Build() error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cert, key := []byte(srv.conf.X509Cert), []byte(srv.conf.X509Key)
|
||||
addrinfo := fmt.Sprintf("%s:%d", srv.conf.Service.Address, srv.conf.Service.Port)
|
||||
listener, err := CreateTLSListener(addrinfo, cert, key)
|
||||
@@ -270,15 +269,16 @@ func (srv *Server) Build() error {
|
||||
|
||||
if cuid64 == 0 {
|
||||
// Change effective user and group
|
||||
err = syscall.Setuid(euid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = syscall.Setgid(egid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = syscall.Setuid(euid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
//return fmt.Errorf("Debug break")
|
||||
|
||||
uidstr := strconv.FormatInt(int64(syscall.Geteuid()), 10)
|
||||
usr, err := user.LookupId(uidstr)
|
||||
|
||||
Reference in New Issue
Block a user