将 euid 和 egid 转换为用户名和组名

Converting euid and egid to username and group name

我查看了我的一些系统日志及其关于适用于随机有效用户 ID 和组 ID 的错误的声明。例如:

Jan 31 13:20:48 server exim[24551]: 2016-01-31 13:20:48 Cannot open main log file "/var/log/exim_mainlog": Permission denied: euid=47 egid=12

我只是想知道是否可以在 shell 中使用一个简单的命令来根据数字(在本例中为 47 和 12)识别真实的用户名和组 ID。

我知道我可以使用带有这些数字的 chown 命令(通过 chown 47:12 item)然后 ls 找出用户 ID 和组名,但我认为有一种更简单的方法我不知道它是什么。

我只是希望能够在命令行中输入如下内容:

convertstuff 47:12

并让它打印出用户所属的用户名和组。

我使用什么命令?

您可以使用 id 命令获取有关用户的信息:

id 47

您将获得用户名和用户所属的每个组。

示例:

$ id 74

> uid=74(sshd) gid=74(sshd) groups=74(sshd)

man id 获取更多信息 ;)