Unklarheiten mit seteuid

Dieses Thema im Forum "C/C++" wurde erstellt von art, 22.06.2007.

  1. art

    art Jungspund

    Dabei seit:
    22.06.2007
    Beiträge:
    14
    Zustimmungen:
    0
    Hi!
    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);
    }
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. dpkg

    dpkg Mitglied

    Dabei seit:
    21.04.2007
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    Linz
    Ich habe leider keine ahnung, was der Code machen soll und kenne mich mit setuid auch nicht aus. Mich würde aber interessieren, wo du den Code her hasst,
    denn
    Code:
    cf(fname)
    char *fname;
    {
    ...
    }
    ist eine veraltete Syntax(K&R, wenn mich nicht alles täuscht).
     
  4. art

    art Jungspund

    Dabei seit:
    22.06.2007
    Beiträge:
    14
    Zustimmungen:
    0
  5. Yellow

    Yellow Doppel-As

    Dabei seit:
    04.06.2007
    Beiträge:
    149
    Zustimmungen:
    0
    Ort:
    Bad Arolsen
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Unklarheiten mit seteuid