无法打开或复制文件,但可以移动和删除

无法打开或复制文件,但可以移动和删除

(请参阅下文关于加密的可能具有决定性的发现。)

我编写的服务输出一个日志文件。我正在尝试查看该日志文件。

不幸的是,Windows 拒绝让我查看该日志文件 - 当我尝试使用记事本打开它时,它显示:

您无权打开此文件。请与文件所有者或管理员联系以获取权限。

Notepad++ 也提示无法打开该文件(即使以管理员权限运行)。同样,尝试从 Firefox 等 Web 浏览器查看该文件也会失败,因为“访问该文件已被拒绝。”

事实上,我也无法复制该文件 - 甚至无法从管理控制台中的命令行复制(另请参阅下文,了解我使用 robocopy 执行此操作的尝试)。但是,移动和删除文件可以正常工作。

服务打开文件。我可以知道,因为每当我启动服务时(此时它应该记录一些启动信息),文件大小都会增加

现在,根据安全选项卡中的特性该文件的对话框中,我的本地用户帐户具有该文件的读取和执行权限。

我已使用 检查了文件权限icactl.exe。输出(略作删减以删除个人信息)如下:

PREDEFINED\IIS_IUSRS:(I)(RX)
<machine>\<user>:(I)(RX)
PREDEFINED\Administrators:(I)(F)
NT-AUTHORITY\SYSTEM:(I)(F)
PREDEFINED\User:(I)(RX)
NT-AUTHORITY\Authenticated Users:(I)(M)

同一文件夹中还有其他日志文件(来自其他工具)打开。 它们的icacls输出看起来完全相同。

我尝试让服务写入不同的文件名。但这并没有什么改变。

最后,我使用 Process Explorer XP 检查了是否有任何进程对该文件有句柄(服务未运行),但似乎并非如此。

我该怎么做才能访问该日志文件?


正如评论中所建议的,我尝试使用 robocopy 复制文件,但无济于事:

C:\...\logs>robocopy C:\...\logs C:\...\logcopy svc.log /b

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Montag, 21. Juni 2021 10:56:48
   Quelle : C:\...\logs\
     Ziel : C:\...\logcopy\

    Dateien : svc.log

  Optionen: /DCOPY:DA /COPY:DAT /B /R:1000000 /W:30

------------------------------------------------------------------------------

                           1    C:\...\logs\
            Neue Datei               700        svc.log
2021/06/21 10:56:48 FEHLER 2 (0x00000002) Dateiattribute werden geändert C:\...\logs\svc.log
Das System kann die angegebene Datei nicht finden.


------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         1         0         0         0
  Dateien:         1         0         0         0         1         0
    Bytes:       700         0         0         0       700         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00
   Beendet: Montag, 21. Juni 2021 10:56:48

C:\...\logs

虽然该消息来自德语 Windows,但用英语来说,该消息基本上是这样的:

ERROR2 (0x00000002) 文件属性已修改
系统找不到指定的文件。


更新:我可能发现了正在发生的事情的痕迹:保存日志文件的目录已选中“加密内容以保护数据”复选框。

如果我让我的服务将其日志文件写入另一个未加密的目录,我就可以完美地打开日志文件。

不幸的是,Windows 说它无法从我实际想要获取日志文件的目录中删除“加密”标志。

相关内容