Technical Notes

Manpages - 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 processs 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 users 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).