【问题标题】:Is there a way to identify the user who owns a process from /proc/PID有没有办法从 /proc/PID 识别拥有进程的用户
【发布时间】:2016-11-16 21:47:34
【问题描述】:

我正在解析 /proc/PID 中的进程详细信息,但目前我无法从该元目录的文件中找到谁拥有进程。

Documentation 似乎也没有指向该信息:

【问题讨论】:

    标签: linux


    【解决方案1】:

    进程的所有者是/proc/PID目录下所有文件的所有者。

    $ ls -l /proc/27595
    total 0
    dr-xr-xr-x   2 me users 0 Jul 14 11:53 attr
    -r--------   1 me users 0 Jul 14 11:53 auxv
    ...
    

    文件/proc/PID/loginuid 还保存着进程所有者的UID。

    $ cat /proc/27595/loginuid
    1000
    

    【讨论】:

      【解决方案2】:

      文件in /proc/[pid]/ 的所有者并不总是用户——例如程序可以使自己“不可转储”以避免在他们成为另一个用户时泄露敏感信息,然后目录文件的文件所有权可以更改为root。

      但通常进程的 UID 可以通过 /proc/[pid] 目录 本身的 fstat 调用(或 stat 命令)来检索。

      【讨论】:

      • “但通常进程的 UID 可以通过 /proc/[pid] 目录本身的 fstat 调用(或 stat 命令)来检索。”。能否请您也添加一个权威链接/参考这部分?
      猜你喜欢
      • 2012-10-17
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 2017-10-25
      相关资源
      最近更新 更多