delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/03/20/16:48:13

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Originating-IP: [66.206.205.2]
X-Originating-Email: [vxj45 AT hotmail DOT com]
From: "Vishal Jain" <vxj45 AT hotmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: seteuid and file ownership
Date: Thu, 20 Mar 2003 13:48:00 -0800
Mime-Version: 1.0
Message-ID: <F124CLwHc9ny7BXx4XF00013719@hotmail.com>
X-OriginalArrivalTime: 20 Mar 2003 21:48:00.0375 (UTC) FILETIME=[6056A070:01C2EF2A]

You are right. seteuid is failing.
I have given vishalj the following rights as mentioned in user doc
An important restriction is that the application using LogonUser must have
special permissions:

"Act as part of the operating system"
"Replace process level token"
"Increase quotas"

Also user vishalj belongs to Administrators group.
/etc/passwd has that information.
Are there any more priveleges I need to give?
thanks,
Vishal


-----Original Message-----
From: Andrew DeFaria [mailto:ADeFaria AT Salira DOT com]
Sent: Thursday, March 20, 2003 1:17 PM
To: cygwin AT cygwin DOT com
Subject: Re: seteuid and file ownership


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




_________________________________________________________________
Tired of spam? Get advanced junk mail protection with MSN 8. 
http://join.msn.com/?page=features/junkmail


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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019