在内核空间中获取当前用户的用户名

时间:2017-11-07 15:25:36

标签: unix linux-kernel operating-system system-calls

我试图实现一个系统调用,打印你好"当前用户名"。我尝试使用getpwuid(getuid()),但没有工作,因为我无法包含pwd.h或unistd.h或sys / types.h。我目前不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

Linux内核没有关于用户名的概念;它只知道用户标识符( uid )。

从uid到用户名的映射包含在用户数据库中,该文件存储为文件/etc/passwd。您需要解析此文件以获取用户名。