A
art
Jungspund
Hi!
Kann mir jemand bitte erklären, was dieses Programm andeuten soll?
Also ich meine diesen Zusammenhang zwischen cf() und seteuid()...
Danke im voraus!!!
Kann mir jemand bitte erklären, was dieses Programm andeuten soll?
Also ich meine diesen Zusammenhang zwischen cf() und seteuid()...
Danke im voraus!!!
Code:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
cf(fname)
char *fname;
{
int fd;
fd=open(fname,O_RDWR|O_CREAT,0644);
write(fd,fname,strlen(fname));
write(fd,"\n",1);
close(fd);
}
main()
{ int uid;
int euid;
int res;
uid=getuid();
euid=geteuid();
printf("Bei Programstart: ") ;
printf("real uid = %d, effective uid = %d\n", uid, euid);
printf("Erzeuge file1\n");
cf("file1");
res=seteuid(uid);
if (res) printf("res setuid %d\n",res);
printf("seteuid(%d): real uid = %d, effective uid = %d\n", uid,getuid(), geteuid());
printf("Erzeuge file2\n");
cf("file2");
res=seteuid(euid);
if (res) printf("res seteuid %d\n",res);
printf("seteuid(%d): real uid = %d, effective uid = %d\n", euid, getuid(), geteuid());
printf("Erzeuge file3\n");
cf("file3");
res=seteuid(uid);
if (res) printf("res seteuid %d\n",res);
printf("seteuid(%d): real uid = %d, effective uid = %d\n", uid, getuid(), geteuid());
printf("Erzeuge file4\n");
cf("file4");
exit(0);
}