[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[P]get[u|g|eu|eg]id bug?
I wrote two little test programs that simply prints the several IDs
(effective/real user/group).
I used mintlib 46.
Version 1 (get*id(2)-routines):
#include <sys/types.h>
#include <unistd.h>
main()
{
printf("uid: %d\neuid: %d\ngid: %d\negid\n",
(int) getuid(), (int) geteuid(),
(int) getgid(), (int) getegid());
}
Version 2 (MiNT macros):
#include <mintbind.h>
main()
{
printf("uid: %d\neuid: %d\ngid: %d\negid\n",
(int) Pgetuid(), (int) Pgeteuid(),
(int) Pgetgid(), (int) Pgetegid());
}
The program's owner was bin (uid 3), its group root (uid 0). When I
started it as user foo (uid 202) in group bar (301), however, the output
was (both versions):
uid: 0
euid: 3
gid: 0
egid: 0
When I set the setuid-bit of my test program, the output was:
uid: 0
euid: 202
gid: 0
egid: 0
That looks like an error in these routines, doesn't it?
Tschuess
Jens
--
+--------------------------------------------------------------------+
|Jens M. Felderhoff |
+--------------------------------------------------------------------+
|e-mail: jmf@infko.uni-koblenz.de | Fido: 2:2454/95.10@fidonet.org |
| | NeST: 90:400/601.10@nest.ftn |
+--------------------------------------------------------------------+