在Windows中创建一个其他用户无法访问的文件

问题描述 投票:0回答:1

我正在研究一些为临时存储创建文件的代码。我刚刚开始在FILE_FLAG_DELETE_ON_CLOSE中使用CreateFile来确保文件被关闭,即使进程被终止或崩溃。我也使用0用于dwShareMode,所以(如果我错了,请纠正我)应该阻止任何其他进程访问该文件。

但是,如果整个系统崩溃怎么办?我猜这将在下次启动时将文件保留为未删除状态。为了防止这种情况,我想创建该文件,以便其他用户无法访问该文件(尽管如果他们可以删除它,只是为了清理它会很好)。我无法找到任何这样的事情的简单例子(我真的需要像https://msdn.microsoft.com/en-us/library/windows/desktop/aa446595(v=vs.85).aspx那样做一些事情吗?)

我这样做的另一个问题是我们的代码有时会在线程模拟下运行(当在服务器的上下文中运行时),所以我不确定这会对事情产生什么影响。我只想要'当前用户'(创建进程的人或者当前线程上模拟的用户)是唯一可以读/写文件的用户。

windows security
1个回答
0
投票

为什么你只是创建在启动时运行的脚本来删除文件

将脚本放在启动文件夹中,如下所示,脚本将仅在启动期间运行,

你的个人启动文件夹应该是

C:\ Users \\ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

应该是所有用户启动文件夹

C:\ ProgramData \ Microsoft \ Windows \ Start Menu \ Programs \ Startup

.....

© www.soinside.com 2019 - 2024. All rights reserved.