2

如果没有管理员权限,我知道我可以在命令行中创建符号链接:

mklink /J LinkPath OriginalResourcePath

在 C++ 中,我尝试使用 CreateSymbolicLink;但是,我收到错误“客户未持有所需的特权”。有没有办法在没有管理员权限的情况下为目录创建符号链接/连接,相当于 mklink /j?

提前致谢!

4

2 回答 2

2

您正在创建mklink /j的不是符号链接。它是一个 NTFS 结点。您可以创建没有管理员权限的联结,但您需要SeCreateSymbolicLinkPrivilege创建一个符号链接。默认情况下,只有管理员令牌具有SeCreateSymbolicLinkPrivilege.

因此,您需要创建一个联结。这篇代码项目文章向您展示了如何做到这一点:http: //www.codeproject.com/Articles/194/Windows-2000-Junction-Points

于 2012-10-16T10:00:44.877 回答
0

是的,有可能。Junction并且 GnuWin32ln在 Windows 上运行良好,我一直使用它们而没有提升。

但适用常规文件系统访问检查。您的程序必须对目录具有写入权限才能创建链接。

于 2012-10-16T02:46:43.547 回答