NEWUIDMAP(1)

NAME
newuidmap - set the uid mapping of a user namespace

SYNOPSIS

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

DESCRIPTION

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:

uid
    Beginning of the range of UIDs inside the user namespace.

loweruid
    Beginning of the range of UIDs outside the user namespace.

count
    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 descriptor for the directory /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.

OPTIONS

There currently are no options to the newuidmap command.

FILES

/etc/subuid
    List of user's subordinate user IDs.

/proc/[pid]/uid_map
    Mapping of uids from one between user namespaces.

SEE ALSO

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