github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/imageserver/rpcd/chownDirectory.go (about) 1 package rpcd 2 3 import ( 4 "errors" 5 "os/user" 6 7 "github.com/Cloud-Foundations/Dominator/lib/srpc" 8 "github.com/Cloud-Foundations/Dominator/proto/imageserver" 9 ) 10 11 func (t *srpcType) ChownDirectory(conn *srpc.Conn, 12 request imageserver.ChangeOwnerRequest, 13 reply *imageserver.ChangeOwnerResponse) error { 14 username := conn.Username() 15 if username == "" { 16 return errors.New("no username: unauthenticated connection") 17 } 18 if request.OwnerGroup != "" { 19 if _, err := user.LookupGroup(request.OwnerGroup); err != nil { 20 return err 21 } 22 } 23 t.logger.Printf("ChownDirectory(%s) to: \"%s\" by %s\n", 24 request.DirectoryName, request.OwnerGroup, username) 25 return t.imageDataBase.ChownDirectory(request.DirectoryName, 26 request.OwnerGroup, conn.GetAuthInformation()) 27 }