【发布时间】:2012-10-09 07:26:18
【问题描述】:
我正在进行一些 Linux 模块开发,将我限制为只能使用内核可用的库,并且我想获取与我的模块用户名交互的用户的用户名。又名他们的“whoami”。我的模块实际上是围绕系统调用...我可以从内核空间中的 current->pid 获取 pid。有没有办法,也许,使用 pid 来追踪 pid 所属的用户?还是其他更简单的方法?
谢谢
【问题讨论】:
-
task_struct中有一些字段保存所有者信息(UID、GID、有效 UID、有效 GID 等),但仅作为数字 ID。libc提供的所有 ID/名称解析服务都在所谓的命名服务切换 (NSS) 中的用户空间中实现。据我所知,没有内核例程可以进行解析,因为内核仅适用于 ID(类似于它仅适用于数字 IP 地址的方式)
标签: linux module linux-kernel system-calls