Skip to content

Commit

Permalink
Merge pull request #634 from stgraber/idmap
Browse files Browse the repository at this point in the history
shared/idmap: Support uid/gid in subuid/subgid
  • Loading branch information
hallyn committed Mar 20, 2024
2 parents 201e653 + e32db50 commit 3dd5a0e
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions shared/idmap/set_load.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,20 @@ func NewSetFromSystem(rootfs string, username string) (*Set, error) {
// Parse the shadow uidmap.
entries, err := getFromShadow("/etc/subuid", username)
if err != nil {
return nil, err
if err != ErrNoUserMap {
return nil, err
}

// Try using the uid instead.
u, err := user.Lookup(username)
if err != nil {
return nil, ErrNoUserMap
}

entries, err = getFromShadow("/etc/subuid", u.Uid)
if err != nil {
return nil, err
}
}

for _, entry := range entries {
Expand All @@ -201,7 +214,20 @@ func NewSetFromSystem(rootfs string, username string) (*Set, error) {
// Parse the shadow gidmap.
entries, err = getFromShadow("/etc/subgid", username)
if err != nil {
return nil, err
if err != ErrNoUserMap {
return nil, err
}

// Try using the uid instead.
u, err := user.Lookup(username)
if err != nil {
return nil, ErrNoUserMap
}

entries, err = getFromShadow("/etc/subgid", u.Uid)
if err != nil {
return nil, err
}
}

for _, entry := range entries {
Expand Down

0 comments on commit 3dd5a0e

Please sign in to comment.