Hola a todos, e estado buscando una libreria para encontrar los users de una pc en linux.
Y quisiera que me echen una mano, hasta aorita solo e logrado conseguir el usuario loggeado
#include <unistd.h>
char *a;
a=getlogin();
pero necesito encontrar los demas usuarios almacenados en mi maquina, alguien sabe como hacer esto?
Espero sus ayudas
Tenés getpwent(3) (http://www.freebsd.org/cgi/man.cgi?query=getpwent)
Acá te dejo un ejemplito sin ninguna verificación de errores y demás (lee la manpage)
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
int main()
{
struct passwd* pwdDB = 0; /* Costumbre de inicializar a null ... */
while(pwdDB = getpwent()) /* Mientras nos de distinto de null */
{
printf("Usuario : %s / UID : %u\r\n",pwdDB->pw_name, /* Mostremos Usuario +UID */
pwdDB->pw_uid);
}
endpwent(); /* Cerremos cualquier archivo abierto */
getchar();
return 0;
}
Saludos.
Gracias por la respuesta, pero ese programa me devuelve los usuarios, entre otras cosas:
Usuario : root / UID : 0
Usuario : daemon / UID : 1
Usuario : bin / UID : 2
Usuario : sys / UID : 3
Usuario : sync / UID : 4
Usuario : games / UID : 5
Usuario : man / UID : 6
Usuario : lp / UID : 7
Usuario : mail / UID : 8
Usuario : news / UID : 9
Usuario : uucp / UID : 10
Usuario : proxy / UID : 13
Usuario : www-data / UID : 33
Usuario : backup / UID : 34
Usuario : list / UID : 38
Usuario : irc / UID : 39
Usuario : gnats / UID : 41
Usuario : nobody / UID : 65534
Usuario : libuuid / UID : 100
Usuario : syslog / UID : 101
Usuario : messagebus / UID : 102
Usuario : avahi-autoipd / UID : 103
Usuario : avahi / UID : 104
Usuario : couchdb / UID : 105
Usuario : speech-dispatcher / UID : 106
Usuario : usbmux / UID : 107
Usuario : haldaemon / UID : 108
Usuario : kernoops / UID : 109
Usuario : pulse / UID : 110
Usuario : rtkit / UID : 111
Usuario : saned / UID : 112
Usuario : hplip / UID : 113
Usuario : gdm / UID : 114
Usuario : jose / UID : 1000
Usuario : kary / UID : 1001
y realmente solo necesito las ultimas dos lineas... y la primera.... como podria hacer esto?
O es que acaso todos los demás tambien son usuarios o algo asi???
todo lo que has puesto son usuarios, si no entiendes el sistema de usuarios de linux, ese es otro tema xD
jajajaj... si, ya luego luego, meti eso en google y me entere que eran users igual ;) muchas gracias por la ayuda!
Ahora toca meterlo en jni ¬¬ ... pero eso yo lo hago :) Muchas gracias nuevamente XD