小编cat*_*man的帖子

取消共享用户名称空间,并使用newuidmap设置uid映射

我正在尝试通过使用unshareand newuidmap命令来更好地理解用户名称空间。

这些是我运行的命令:

[root@host ~]$ ls -l /usr/bin/newuidmap
-rwsr-xr-x 1 root root 32944 May 16 19:37 /usr/bin/newuidmap
[root@host ~]$  unshare -U bash namespace
[nobody@host ~]$ echo $$
7134
[nobody@host ~]$ newuidmap 7134 65534 5000 1
newuidmap: write to uid_map failed: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

/ etc / subuid:

nobody:5000:1
root:5000:1
Run Code Online (Sandbox Code Playgroud)

知道为什么这失败了吗?

然后,我尝试newuidmap在父命名空间的同一PID上运行命令,它似乎可以正常工作:

[root@host ~]$ newuidmap 7134 65534 5000 1
[root@host ~]$ cat /proc/7134/uid_map 
 65534       5000          1
Run Code Online (Sandbox Code Playgroud)

但是,当我从新名称空间中运行进程时,它似乎仍以root身份而不是UID 5000身份运行:

[nobody@host ~]$ exec sleep 20
Run Code Online (Sandbox Code Playgroud)

从另一个shell:

[root@host ~]$ …
Run Code Online (Sandbox Code Playgroud)

linux linux-namespaces

3
推荐指数
1
解决办法
2261
查看次数

标签 统计

linux ×1

linux-namespaces ×1