Para obter o nome de usuário associado a um UID, use a opção -n de id :
$ id
uid=1000(myself) gid=1000(myself) groups=1000(myself), 0(wheel), 9(wsrc)
$ id -n -u 1000
myself
Isso não funcionaria em GIDs, já que id espera nomes de usuário ou UIDs:
$ id -n -g 9
id: 9: No such user
Você pode consultar o banco de dados passwd e o banco de dados do grupo para UIDs e GIDs com getent :
$ getent passwd 1000
myself:*:1000:1000:Just me,,,:/home/myself:/bin/sh
$ getent group 9
wsrc:*:9:myself
O nome de usuário ou grupo real pode ser analisado a partir disso, canalizando a saída através de cut -d : -f 1 .
id é um utilitário POSIX , enquanto getent não é.