0

File模块具有 File:file_info() 和 File:read_file_info 等函数,它们返回相对于文件的#file_info记录。它包含诸如uidgid之类的字段,它们是与操作系统用户 ID 和组 ID 相关的数字标识符。

所有文件操作都使用数字 uid 和 gid 值,但最好通过用户名(字符串)来识别它,因为主机上的 uid 可能与另一台主机不同,但用户名可能相同部门惯例(安装政策/等)。

问题:是否有适用于大多数操作系统的模块或函数来检索给定 uid 或 gid 的用户名和组名?

4

1 回答 1

2

选择的C功能getpwuid适用于符合 POSIX 的操作系统。要获取组名,等效的是getgrgid.

Jungerl 曾经有一个posix_drv 驱动程序模块,可以同时提供这两种功能。但它已经很老了,并且无法在 R15 中影响驱动程序 API 的更改中幸存下来。

另一种选择可能是:https ://github.com/sergey-miryanov/erlang-pwd - 给你一个get_by_uid(调用getpwuid)但没有等效于getgrgid.

于 2013-03-02T05:15:32.937 回答