在Docker应用程序中,访问/ proc / self / pagemap显示不允许操作

时间:2015-09-23 02:21:31

标签: linux docker

如标题中所述,在OS中,对于OS中的/ proc // pagemap,所有者是启动此应用程序的用户,权限是-r --------。 Docker应用程序中的用户是另一个无法读取此文件的用户。那么我们可以在Docker应用程序中读取它呢?

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题:你可能需要使用setuid()成为阅读文件的有效用户。如果你有一个java应用程序,那么将它包装在shell脚本中并从java调用。

以下是您可以做的,作为示例

  1. 编写一个shell脚本或c程序:说“proc_read_util”来读取和打印/ proc / self / pagemap文件

  2. chmod u + s proc_read_util

  3. 从您的应用程序调用此程序,获取输出和处理。

答案 1 :(得分:0)

Linux 4.0版本,包括由补丁(https://lwn.net/Articles/642075/)向后移植的版本,需要CAP_SYS_ADMIN来访问/ proc / pid / pagemap。目前,使用--priviledged运行docker可以帮助解决使用Docker丢失意义的成本问题。