delorie.com/archives/browse.cgi | search |
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 AT sources DOT redhat DOT com Red Hat, Inc. mailto:vinschen AT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |