Hi,
I am making a seteuid() call to impersonate user "shweta".
Then I create a file. When I do ls -l on the file, it shows the owner as
"vishalj" which was the user before doing impersonation.
-rw-rw-rw-    1 vishalj  mkgroup         0 Mar 20 12:50 shweta
Is this expected behaviour in cygwin?
I am attaching the code snippet-

#include <windows.h>
#include <sys/cygwin.h>
#include <stdio.h>
#include <pwd.h>

int main(int argc, char *argv[]){
        HANDLE token = INVALID_HANDLE_VALUE;
        struct passwd *pw = NULL;
        FILE *fp = NULL;
        pw = getpwnam("shweta");
        token = cygwin_logon_user(pw, "shweta");
        if(token == INVALID_HANDLE_VALUE){
                printf("Login failed\n");
        }
        cygwin_set_impersonation_token(token);
        seteuid(pw->pw_uid);
        fp = fopen("shweta", "w");
        if(fp == NULL){
                printf("could not open file for writing\n");
        }
        fclose(fp);
}

Thanks,
Vishal



_________________________________________________________________
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus



-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/



Reply via email to