如何在erlang中通过uid获取用户名?
问题描述:
File模块具有诸如File:file_info()和File:read_file_info之类的函数,该函数返回#file_info记录相对于文件。它包含的字段如uid和gid即数字标识符与OS用户标识和组标识相关。如何在erlang中通过uid获取用户名?
所有文件操作都使用数字uid和gid值,但考虑到主机上的uid可能与另一台主机不同,但用户名(字符串)很容易识别,但用户名可能是同样根据部门惯例(安装政策/等)。
问:是否有在大多数操作系统上工作以检索给定UID或GID的用户名和组名的模块或功能?
答
对于符合POSIX标准的操作系统,C
的功能是getpwuid
。要获得组名,相当于getgrgid
。
Jungerl曾经有一个posix_drv
driver module,提供这两个,除其他事项。 但它已经很老了,并没有在R15中影响驱动程序API的变化中幸存下来。
另一种可能是这样的:https://github.com/sergey-miryanov/erlang-pwd - 给你一个get_by_uid
(即调用getpwuid
),但没有等效于getgrgid
。
更多信息。谢谢。 – gextra 2013-03-02 12:55:09