billiejoex wrote: > Hi there. I'm writing a modification for a FTP server library I'm > maintaining. > Depending on the system I'd want to temporarily impersonate the logged > user to perform actions on filesystem. > Something like: > > try: > change_user('user', 'password') > os.rmdir('dir') > except: > print "some error" > finally: > change_user('old_user', 'password') > > On Unix I took at look at os.seteuid() and os.setegid() functions and > I noticed they could be useful for my purpose. > On Windows I have no idea about how could I emulate a similar > behaviour. > Could someone please point me in the right direction?
(Warning: not tried, but at least gives you the things to Google for!) You need the win32security module from the pywin32 extensions. [1] In particular, you want to look at the LogonUser and ImpersonateLoggedOnUser functions. TJG [1] http://pywin32.sf.net -- http://mail.python.org/mailman/listinfo/python-list