内核3.10的linux中执行unshare --user /bin/bash报错Invalid argument,是什么原因?

在内核3.10的linux中执行

unshare --user /bin/bash

结果,报错:unshare: unshare failed: Invalid argument。

1、内核3.10的Linux是支持User Namespace的。
2、在查看unshare帮助文档时,里面也提供了如下的示例:

$ unshare --map-root-user --user sh -c whoami

但是执行之后,同样报上面的错误。
3、在执行代码ls -l /proc/$$/ns后,显示如下,没有user,但是查阅相关资料,说是只要内核支持就能使用。

clipboard.png

参考资料:Linux Namespace系列(01):Namespace概述

各位大神有没有遇到过这个问题,帮忙看一下~

阅读 11.9k
2 个回答

在使用centos或者redhat吗, user namespace在redhat 7里似乎还属于技术预览特性

参考这里

启用该内核特性,可以试试:

    grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
    reboot
# max_user_namespaces文件记录了允许创建的user namespace数量,我的CentOS 7.5默认是0,修改之
echo 2147483647 > /proc/sys/user/max_user_namespaces
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏