C++ 创建只读不可删除文件
我试图创建一个不可删除且只读的文件。(这是一个exe,所以可能我也需要执行。) 我试图通过以下方式实现这一目标:C++ 创建只读不可删除文件,c++,c,winapi,C++,C,Winapi,我试图创建一个不可删除且只读的文件。(这是一个exe,所以可能我也需要执行。) 我试图通过以下方式实现这一目标: SetFileAttributes(My_File_Path,FILE_ATTRIBUTE_READONLY); 但它只保护不被写入(它允许读取但不写入),而防止被删除它什么也不做,即使根据MSDN,它也应该保护不被删除: 只读的文件。应用程序可以读取该文件,但不能写入或删除该文件。此属性在目录上不受尊重。有关详细信息,请参阅“在Windows Server 2003、Window
SetFileAttributes(My_File_Path,FILE_ATTRIBUTE_READONLY);
但它只保护不被写入(它允许读取但不写入),而防止被删除它什么也不做,即使根据MSDN,它也应该保护不被删除:
只读的文件。应用程序可以读取该文件,但不能写入或删除该文件。此属性在目录上不受尊重。有关详细信息,请参阅“在Windows Server 2003、Windows XP或Windows Vista中无法查看或更改文件夹的只读或系统属性”
如何防止文件被删除
- 文件系统是NTFS
- 这是为了保护。这些文件是供孩子们使用的,我想阻止他们删除该文件。(或者,尽量使删除变得困难。)
- 我正在寻找一个程序化的解决方案
每个人
ACL上的ACE是按顺序处理的,因此这可以防止您锁定自己。为什么要这样做?您是否正在编写恶意软件?就写入或删除文件而言,程序可以轻松删除该属性。如果删除只读文件,则假定首先删除该文件的程序是c了解只读属性。USB驱动器上的文件系统是什么?只读保护不是一种安全功能。它可以防止意外覆盖,但不能阻止蓄意攻击。您必须找到其他解决方案。如果驱动器是NTFS,您可以设置权限。但其他计算机上的任何管理员都可以覆盖加密可能有助于保护文件。Bit locker也可能有帮助。它们超出了基本文件属性。