我正在做一些 Linux 模块开发,限制我只能使用内核可用的库,并且我想获取与我的模块的用户名交互的用户的用户名。又名他们的“whoami”。我的模块实际上是围绕系统调用...我可以从内核空间中的 current->pid 获取 pid。有没有办法,也许,使用 pid 来追踪 pid 所属的用户?还是另一种更简单的方法?
谢谢
我正在做一些 Linux 模块开发,限制我只能使用内核可用的库,并且我想获取与我的模块的用户名交互的用户的用户名。又名他们的“whoami”。我的模块实际上是围绕系统调用...我可以从内核空间中的 current->pid 获取 pid。有没有办法,也许,使用 pid 来追踪 pid 所属的用户?还是另一种更简单的方法?
谢谢
您可以使用filp_open函数从内核打开/etc/passwd
文件。接下来,您需要使用file_operations来读取文件:
struct file * file = filp_open(...);
file->f_op->read(file, ...);
阅读文件内容可能有助于UID -> username
翻译。