linux下sudo设置uid_map

时间:2017-03-08 20:26:45

标签: linux containers

假设我有一些进程A clone进程B带有标记CLONE_NEWUSER | CLONE_NEWPID | CLONE_NEWNS,此进程B有pid = PID。然后在进程A中,我写入/proc/PID/uid_map字符串0 1000 1(1000是我的用户的uid)。

如果我在我的用户A下运行./A,这样就可以了,正在处理B getuid()给我0。但是如果我像A一样sudo ./A,那么getuid()中的B会给我65534(nobody)。

当我搜索sudo代码时,它不会创建任何新的命名空间。所以我的问题是这里发生了什么以及为什么在sudo下我无法正确设置映射0 1000 1

更新

另外,如果我将suid添加到A

$ sudo su
# chown 0:0 A
# chmod u+s A
# exit
$ ./A

然后B再次给我0

0 个答案:

没有答案