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

newuidmap - Man Page

set the uid mapping of a user namespace


newuidmap pid uid loweruid count [uid loweruid count [ ... ]]


The newuidmap sets /proc/[pid]/uid_map based on its command line arguments and the uids allowed. Subuid delegation can either be managed via /etc/subuid or through the configured NSS subid module. These options are mutually exclusive.

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

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


Beginning of the range of UIDs inside the user namespace.


Beginning of the range of UIDs outside the user namespace.


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

newuidmap verifies that the caller is the owner of the process indicated by pid and that for each of the above sets, each of the UIDs in the range [loweruid, loweruid+count) is allowed to the caller according to /etc/subuid before setting /proc/[pid]/uid_map.

Note that newuidmap 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, newuidmap will use openat(2) to open the uid_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 newuidmap command.



List of user's subordinate user IDs.


Mapping of uids from one between user namespaces.

See Also

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

Referenced By

acl(5), 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