This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: seteuid and file ownership
- From: "Vishal Jain" <vxj45 at hotmail dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 20 Mar 2003 13:48:00 -0800
- Subject: Re: seteuid and file ownership
- Bcc:
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/