当前位置: 首页 > 知识库问答 >
问题:

SMB访问绕过文件共享冲突

谢胤
2023-03-14

我有一台Windows CE 5.0计算机,该计算机具有文件\hard disk2\logs\myfile.err的smb共享。
此文件是由批处理脚本创建的,该脚本将另一个exe的stderr重定向到该文件:myapp.exe 2>“\hard disk2\logs\myfile.err”

考虑到在运行myapp.exe时,我无法在Windows CE计算机上使用notepadce打开myfile.err,这一操作非常有效。如果我尝试,NotepadCE将显示一个共享冲突错误。

同一文件可以由其smb共享同时读取,不会出现任何问题。

是否有一种方法可以使Windows CE计算机上的其他程序在不停止myapp.exe的情况下读取此文件?

共有1个答案

姬昀
2023-03-14

为什么可以通过smb读取它,而不可能以另一种方式读取它?

我想这与传递给createFile的选项有关。

例如,使用

CreateFile(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, ...)

请求读取访问权限,同时允许其他人同时读取和写入。SMB服务可能就是这样做的。

而开放为

CreateFile(path, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, ...)

请求读/写访问,同时阻止其他人写。批处理脚本可能会做到这一点。

CreateFile(path, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, ...)

算是吧,是的。不是重定向stderr,而是让myapp.exe将其输出直接写入myfile.err,在创建文件时,在createfile调用中传递file_share_read file_share_write。这将允许其他请求写访问权限的程序打开MyFile.err。

 类似资料:
  • 我在/mnt/SMB/下挂载了一个SMB共享文件夹,我可以访问这些文件。当我使用命令卸载此共享文件夹时:

  • 我必须更新一个旧的文件共享软件,该软件使用JCIFS for Windows Server 2012。出于安全目的,我们必须禁用SMB 1.0/CIFS兼容性。有人知道可以在Java中使用的变通方法或修复程序或JCIFS的替代方案吗?

  • 问题内容: 我有一个带有.groovy脚本的共享库,可以在jenkinsfile中这样调用: 我要执行的共享库中也有一个.ps1文件。但是,如果当我从jenkinsfile调用共享库函数时从共享库函数中执行该操作,则当前工作目录就是jenkinsfile所在管道的jenkins工作目录(通常是您想要的)。 有没有办法访问共享库中的文件?我想要做 问题答案: 您只能使用内置步骤获得内容。这就是为什么

  • 我想连接到SMB服务器,浏览其文件,并为给定的路径,能够检索文件和文件夹的列表,名称和权限。 我需要支持所有SMB方言,并且能够从我的代码中做到这一点。 代码大致如下所示: 我尝试了一些选项,如smbj、impacket、nmap、samba,但它们似乎都不能满足我上面的要求。 是否有任何方法可以通过使用Java、Python或我可以从Java代码中调用的任何linux CLI来实现上述目标?

  • 有没有一种方法,因为我的用户对共享邮箱具有完全访问权限而不同意该权限?必须有一种方法来访问邮箱,而不需要在组织中具有管理权限? 我期待着看到一个答案:)谢谢

  • 本文向大家介绍ASP.NET访问共享文件夹的详细步骤,包括了ASP.NET访问共享文件夹的详细步骤的使用技巧和注意事项,需要的朋友参考一下 假设找找看的ASP.NET程序在A服务器,索引文件在B服务器的ZzkIndex共享文件夹中,访问地址是\\192.168.18.18\ZzkIndex\。要实现就是在A服务器的ASP.NET程序中能读写共享文件夹\\192.168.18.18\ZzkIndex