diff --git a/internal/fs/filesystem.go b/internal/fs/filesystem.go index 2c34c68..3844b97 100644 --- a/internal/fs/filesystem.go +++ b/internal/fs/filesystem.go @@ -82,12 +82,22 @@ func (f *FileSystem) mknode(dir bool, name string, perm os.FileMode) error { uid, err := strconv.Atoi(usr.Uid) if err != nil { - return err + // Some OSes like i.e. Windows don't support numeric UIDs, so use 0 instead + if err == strconv.ErrSyntax { + uid = 0 + } else { + return err + } } gid, err := strconv.Atoi(usr.Gid) if err != nil { - return err + // Some OSes like i.e. Windows don't support numeric GIDs, so use 0 instead + if err == strconv.ErrSyntax { + gid = 0 + } else { + return err + } } groups, err := usr.GroupIds()