This is the mail archive of the cygwin-developers@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: seteuid ?


Earnie Boyd wrote:
> 
> Hey Corinna,
> 
> I've copied my Domain User /etc/passwd record and changed the User=root and
> UID=0.  If I put this record first in /etc/passwd file I could `su -' just fine
> and dandy.  However, that ended up as the user record when starting bash.
> Moving the record to the end of the file, I `su -' and I would the EPERM error.
> This is due to the test of pw_cur != pw_new.  I removed the set_errno and
> return -1 statements and su now changes the effective user.  Comments?

What you have done is _not_ changing the user context. It only looks as
if the context has changed. The test in seteuid() is intended to check
if a previous cygwin_logon_user()/cygwin_set_impersonation_token() pair
was called prior to using seteuid(). I have described that in detail in
the documentation. You can't change the user context without providing
a password. I have finally managed to update the net documentation to
contain the "New setuid concept" chapter. Take a look.

Hope, that helps,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                        mailto:cygwin@sources.redhat.com
Red Hat, Inc.
mailto:vinschen@cygnus.com

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]