@Javier respecto a la pregunta de los grupos y grep, si bien es cierto que con grep puedes ver filtrando de forma general ocurrencias del usuario lgallard en el /etc/group, grep no se usa para saber a qué grupos pertenece un usuario. Para eso están las órdenes id y groups. De igual forma te coloco un contra ejemplo, para que veas que grep puede llegar a no ser exacta:
$ grep lgallard /etc/group
disk:x:6:lgallard
cdrom:x:24:lgallard
plugdev:x:46:lgallard
lgallard:x:1000:
vboxusers:x:127:lgallard$ grep lgallard /etc/passwd
lgallard:x:100:1000:Luis M. Gallardo D.,,,:/home/lgallard:/bin/bash$ grep 100 /etc/group
users:x:100:
…
Aquí, uno podría pensar que el usuario lgallard pertenece al grupo lgallard, pero al verificar en el /etc/passwd, su grupo principal tiene el id 100, el cual corresponde al grupo users. Si usas las órdenes id y groups no hay confusión alguna:
# id lgallard
uid=1000(lgallard) gid=100(users) groups=100(users), 6(disk),24(cdrom), 46(plugdev), 127(vboxusers)# groups lgallard
lgallard : users disk cdrom plugdev vboxusers
Entonces la respuesta grep /etc/group no es válida, y en todo caso para considerarse como válida tienes que combinarla con la salida del grep /etc/passwd luego de analizar ambas salidas.