File模块具有File:file_info()和File:read_file_info等函数,它们返回相对于文件的#file_info记录。它包含 uid 和 gid 等字段,它们是与操作系统用户ID和组ID相关的数字标识符。
所有文件操作都使用数字uid和gid值,但是通过用户名(字符串)识别它会很好,因为主机上的uid可能与另一个主机不同,但用户名可能相同根据部门公约(安装政策/等)的事项。
问题:是否有适用于大多数操作系统的模块或函数来检索给定uid或gid的用户名和组名?
答案 0 :(得分:2)
对于符合POSIX标准的操作系统,C
函数选择getpwuid
。要获取组名,等效项为getgrgid
。
Jungerl曾经有一个posix_drv
driver module提供了这两个功能。
但它已经很老了,并且在R15中影响驱动程序API的变化无法幸免。
另一种选择可能是:https://github.com/sergey-miryanov/erlang-pwd - 为您提供get_by_uid
(调用getpwuid
),但没有等效于getgrgid
。