unshare: -r should map root to user, not the other way around

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2017-11-09 16:06:33 +01:00
parent b5a0d9d867
commit 1b510900e2

View File

@ -339,7 +339,7 @@ int unshare_main(int argc UNUSED_PARAM, char **argv)
} }
if (opts & OPT_map_root) { if (opts & OPT_map_root) {
char uidmap_buf[sizeof("%u 0 1") + sizeof(int)*3]; char uidmap_buf[sizeof("0 %u 1") + sizeof(int)*3];
/* /*
* Since Linux 3.19 unprivileged writing of /proc/self/gid_map * Since Linux 3.19 unprivileged writing of /proc/self/gid_map
@ -348,9 +348,9 @@ int unshare_main(int argc UNUSED_PARAM, char **argv)
* in that user namespace. * in that user namespace.
*/ */
xopen_xwrite_close(PATH_PROC_SETGROUPS, "deny"); xopen_xwrite_close(PATH_PROC_SETGROUPS, "deny");
sprintf(uidmap_buf, "%u 0 1", (unsigned)reuid); sprintf(uidmap_buf, "0 %u 1", (unsigned)reuid);
xopen_xwrite_close(PATH_PROC_UIDMAP, uidmap_buf); xopen_xwrite_close(PATH_PROC_UIDMAP, uidmap_buf);
sprintf(uidmap_buf, "%u 0 1", (unsigned)regid); sprintf(uidmap_buf, "0 %u 1", (unsigned)regid);
xopen_xwrite_close(PATH_PROC_GIDMAP, uidmap_buf); xopen_xwrite_close(PATH_PROC_GIDMAP, uidmap_buf);
} else } else
if (setgrp_str) { if (setgrp_str) {