使用双重凭据复制文件(窗口)

时间:2009-04-12 20:54:12

标签: windows io credentials rights

假设我们有c:\ DirA只能由User1读取,而c:\ DirB只能由User2写入。两个凭证都是知道的。

如何直接将文件从DirA复制到DirB?

1 个答案:

答案 0 :(得分:1)

假设进程在第一个用户的上下文中运行,请运行LogonUser以获取第二个用户的安全令牌。生成一个线程并调用ImpersonateLoggedOnUser,将令牌作为参数传递。第二个主题可以访问DirB。读取第一个线程中的数据,将它们传递给第二个线程并从那里写入。

如果您运行的用户具有备份或还原权限,则更简单的方法是使用OpenProcessToken后跟AdjustTokenPrivileges激活它们。