Kaynağa Gözat

Merge pull request #38126 from mjameswh/fix-1715

Use idtools.LookupGroup instead of parsing /etc/group file for docker.sock ownership
Vincent Demeester 6 yıl önce
ebeveyn
işleme
56cc56b0fa
1 değiştirilmiş dosya ile 4 ekleme ve 14 silme
  1. 4 14
      daemon/listeners/group_unix.go

+ 4 - 14
daemon/listeners/group_unix.go

@@ -6,25 +6,15 @@ import (
 	"fmt"
 	"strconv"
 
-	"github.com/opencontainers/runc/libcontainer/user"
-	"github.com/pkg/errors"
+	"github.com/docker/docker/pkg/idtools"
 )
 
 const defaultSocketGroup = "docker"
 
 func lookupGID(name string) (int, error) {
-	groupFile, err := user.GetGroupPath()
-	if err != nil {
-		return -1, errors.Wrap(err, "error looking up groups")
-	}
-	groups, err := user.ParseGroupFileFilter(groupFile, func(g user.Group) bool {
-		return g.Name == name || strconv.Itoa(g.Gid) == name
-	})
-	if err != nil {
-		return -1, errors.Wrapf(err, "error parsing groups for %s", name)
-	}
-	if len(groups) > 0 {
-		return groups[0].Gid, nil
+	group, err := idtools.LookupGroup(name)
+	if err == nil {
+		return group.Gid, nil
 	}
 	gid, err := strconv.Atoi(name)
 	if err == nil {