seteuid and file ownership

Andrew DeFaria ADeFaria@Salira.com
Thu Mar 20 23:28:00 GMT 2003


You might start by checking the status after the setuid call. Perhaps it 
failed.

Vishal Jain wrote:

> 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/



More information about the Cygwin mailing list