fix: file task uid gid (#3359)
Signed-off-by: Jim Ma <majinjing3@gmail.com>
This commit is contained in:
parent
d66cf41c38
commit
43ef996ed8
|
|
@ -798,6 +798,16 @@ func (s *server) download(ctx context.Context, req *dfdaemonv1.DownRequest, stre
|
|||
log.Errorf("task %s/%s failed: %d/%s", p.PeerID, p.TaskID, p.State.Code, p.State.Msg)
|
||||
return dferrors.New(p.State.Code, p.State.Msg)
|
||||
}
|
||||
if p.PeerTaskDone {
|
||||
// update permission before send last result
|
||||
if req.Uid != 0 && req.Gid != 0 {
|
||||
log.Infof("change owner to uid %d gid %d", req.Uid, req.Gid)
|
||||
if err = os.Chown(req.Output, int(req.Uid), int(req.Gid)); err != nil {
|
||||
log.Errorf("change owner failed: %s", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
err = stream.Send(&dfdaemonv1.DownResult{
|
||||
TaskId: p.TaskID,
|
||||
PeerId: p.PeerID,
|
||||
|
|
@ -813,13 +823,6 @@ func (s *server) download(ctx context.Context, req *dfdaemonv1.DownRequest, stre
|
|||
if p.PeerTaskDone {
|
||||
p.DoneCallback()
|
||||
log.Infof("task %s/%s done", p.PeerID, p.TaskID)
|
||||
if req.Uid != 0 && req.Gid != 0 {
|
||||
log.Infof("change own to uid %d gid %d", req.Uid, req.Gid)
|
||||
if err = os.Chown(req.Output, int(req.Uid), int(req.Gid)); err != nil {
|
||||
log.Errorf("change own failed: %s", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
case <-ctx.Done():
|
||||
|
|
|
|||
Loading…
Reference in New Issue