Your company here — click to reach over 10,000 unique daily visitors

newgidmap - Man Page

set the gid mapping of a user namespace


newgidmap pid gid lowergid count [gid lowergid count [ ... ]]


The newgidmap sets /proc/[pid]/gid_map based on its command line arguments and the gids allowed. Subgid delegation can either be managed via /etc/subgid or through the configured NSS subid module. These options are mutually exclusive.

Note that the root group is not exempted from the requirement for a valid /etc/subgid entry.

After the pid argument, newgidmap expects sets of 3 integers:


Beginning of the range of GIDs inside the user namespace.


Beginning of the range of GIDs outside the user namespace.


Length of the ranges (both inside and outside the user namespace).

newgidmap verifies that the caller is the owner of the process indicated by pid and that for each of the above sets, each of the GIDs in the range [lowergid, lowergid+count) is allowed to the caller according to /etc/subgid before setting /proc/[pid]/gid_map.

Note that newgidmap may be used only once for a given process.

Instead of an integer process id, the first argument may be specified as fd:N, where the integer N is the file descriptor number for the calling process's opened file for /proc/[pid[. In this case, newgidmap will use openat(2) to open the gid_map file under that directory, avoiding a TOCTTOU in case the process exits and the pid is immediately reused.


There currently are no options to the newgidmap command.



List of user's subordinate group IDs.


Mapping of gids from one between user namespaces.

See Also

login.defs(5), newusers(8), subgid(5), useradd(8), userdel(8), usermod(8).

Referenced By

buildah(1), buildah-unshare(1), getsubids(1), mount_setattr(2), podman-run(1), podman-unshare(1), subgid(5), subuid(5), unshare(1), user_namespaces(7).

05/20/2024 shadow-utils 4.15.0