如何以编程方式创建只读网络共享?
如何在 Windows XP 下使用 C/C++ 或 Python 创建具有只读权限的管理网络共享 [1]?
[1] 为了通过共享访问 C:\Program Files 所必需的。
How does one create an administrative network share [1] with read-only permissions from C/C++ or Python under Windows XP?
[1] Necessary in order to access C:\Program Files over the share.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先使用 NetShareAdd() 创建共享。这将使用
null
ACL 共享目录,这相当于允许每个人完全访问。在 Windows 上无法使用NetShareAdd
配置权限。创建共享后,通过调用 GetNamedSecurityInfoW() 传入共享名称,
SE_LMSHARE
作为ObjectType
,DACL_SECURITY_INFORMATION
作为安全信息
。获得描述符后,请使用正常的 Windows 安全调用来配置 ACL。First create the share with NetShareAdd(). This will share the directory with a
null
ACL, which is equavalent to allowing everyone full access. It is not possible to configure permissions withNetShareAdd
on Windows.Once the share has been created, get the security descriptor for the share by calling GetNamedSecurityInfoW() passing in the share name,
SE_LMSHARE
as theObjectType
, andDACL_SECURITY_INFORMATION
as theSecurityInfo
. Once you have the descriptor, use the normal Windows security calls to configure the ACL.查看 C 语言的 NetShareAdd() /C++(MSDN 在页面末尾包含一个示例程序)。
Take a look at NetShareAdd() for C/C++ (the MSDN includes an example program at the end of the page).