pthread_setugid_np
    John Baldwin 
    jhb at freebsd.org
       
    Thu May 28 13:53:09 UTC 2009
    
    
  
On Thursday 28 May 2009 12:48:17 am Sujit K M wrote:
> As per the Apple Documentation:
> 
> In some cases it is helpful to impersonate the user, at least as far
> as the permissions checking done by the BSD subsystem of the kernel. A
> single-threaded daemon can do this using seteuid and setegid. These
> set the effective user and group ID of the process as a whole. This
> will cause problems if your daemon is using multiple threads to handle
> requests from different users. In that case you can set the effective
> user and group ID of a thread using pthread_setugid_np. This was
> introduced in Mac OS X 10.4.
> 
> (AT) http://developer.apple.com/technotes/tn2005/tn2083.html
> 
> 
> I think this is a part of the BSD (Mach) subsystem.
It has never been in BSD outside of OS X.  BSD from UC Berkeley did not 
support kernel threads and you are free to check the CVS history of the 
various kern_prot.c files on other BSD's yourself.  There is no BSD code to 
do this, and you could not use Darwin's code directly on FreeBSD anyway since 
the two OS's manage credential state differently.
-- 
John Baldwin
    
    
More information about the freebsd-arch
mailing list