【问题标题】:How to get username from know uid in linux api? [duplicate]如何从linux api中的know uid获取用户名? [复制]
【发布时间】:2014-02-16 21:01:31
【问题描述】:

我是linux 的新手。我需要从我的 c 应用程序中的给定用户 ID 中知道用户名。是否有任何linux api 函数可以得到这个?

谢谢

【问题讨论】:

  • 试试id [userid]。例如:id 0
  • @Kent:感谢您的回复。但是当我在命令行上给出 id 1000 时,它显示没有这样的用户。但是当我只给出 id 时,那 1000 是列出的用户 id。能详细点吗?
  • 我的id (GNU coreutils) 8.22 无法重现您的问题。我也有 id 1000 用户。
  • @Kent:techfun 看到的似乎是 Ubuntu 11,04、12.04 和 13.04 中的默认设置

标签: linux bash api gcc


【解决方案1】:

如果您想从 c 程序中获取用户名,那么getpwuid 可能是最简单的方法。 男人在这里输入:http://man7.org/linux/man-pages/man3/getpwnam.3.html

从命令行,我只需通过 passwd grep:

grep 1000 /etc/passwd | cut -f1 -d:

【讨论】:

  • 最好使用 getent passwd 而不是 grepping /etc/passwd,因为即使用户 ID 来自 NIS,它也可以工作。请参阅unix.stackexchange.comserverfault.com
  • 并且在没有任何锚点的情况下仅 grepping 1000 会在他们的组 id 或 gcos 或密码中找到具有此功能的人或 ...
猜你喜欢
  • 1970-01-01
  • 2019-05-28
  • 2021-11-23
  • 2017-08-19
  • 2021-02-22
  • 2016-09-30
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
相关资源
最近更新 更多