2

更新 3:现在使用安全选项卡限制访问。(手动)现在希望以编程方式(使用 Visual C#)以及如何在简单的用户帐户中使用管理员帐户访问文件。提示 - 我在 Windows 中注意到此功能,右键单击并使用“执行为”,输入管理员密码,然后您可以访问该文件。

更新 2:找到如何显示安全选项卡

显示安全选项卡

在控制面板中打开文件夹选项。(单击开始,单击控制面板,单击外观和主题,然后单击文件夹选项。)

在查看选项卡的高级设置下,清除使用简单文件共享 [推荐]。

更新1:我找到了以下文章,它建议了如何授予文件权限,但是当我单击属性时我没有找到安全选项卡,你有吗?任何想法如何得到它

我有一个文件要防止被修改。不要对我说加密它,这不能解决问题,我希望用户不能更改文件,但只有我(我的程序)。是否有任何类型的 Windows 文件身份验证,我知道我所说的身份验证是愚蠢的,但是某些 Windows 文件无法访问,例如用户配置文件中的“ntuser.dat.LOG”。当我尝试打开此文件时,它不会打开。

我想要这样的东西,对于这个文件,似乎是因为 Windows 正在使用它。对。但是如果我的程序关闭了,我也不希望在这种情况下更改文件。我该怎么办?

我不要求完整的详细解决方案,我想要想法、建议、提示或任何您知道会有所帮助的东西,因为它似乎很复杂:p

4

12 回答 12

1

您可以运行锁定文件或其他东西的Windows服务

于 2009-03-16T14:27:28.443 回答
1

您是在 Windows 域上,还是只是一个工作组?这是什么版本的Windows?您是计算机的管理员吗?

您应该能够获得文件的所有权,然后设置权限,以便您是唯一可以访问该文件的人。在 Windows XP 上(Vista 类似)右键单击文件并查看Properties. 选择Security选项卡,然后您可以设置文件的特定权限。您可以单击Advanced并设置更具体的选项。

如果您在域中,域管理员将始终能够查看/编辑您的任何文件。

编辑:来自KB 290403

在 Windows XP Home Edition 和 Windows XP Professional 中,如果在工作组中工作,默认情况下隐藏“安全”选项卡。出现此问题的原因是在 Windows XP Home Edition 和 Windows XP Professional 中,来宾被强制登录到工作组。

因此,如果您想这样做,您可以将计算机启动到安全模式,然后您会看到该Security选项卡。

您也可以取消选中Simple file sharing选项Advanced

于 2009-03-16T14:29:36.440 回答
0

撤销除您自己(或程序运行的帐户)以外的所有用户的访问权限。在 Windows 资源管理器、属性、安全中单击鼠标右键。

于 2009-03-16T14:28:39.203 回答
0

想法,然后:修改您的文件,以便只有一个用户可以访问它。删除所有其他用户权限。将您的应用程序作为服务运行,该服务已通过唯一有权访问该文件的用户进行身份验证。

于 2009-03-16T14:28:54.727 回答
0

您可以更改文件的权限,以使所有者成为您的应用程序在安装时创建的用户。但无论如何,管理员车会覆盖这个,我看不到成功锁定它的方法。

甚至可以关闭Windows服务,据我所知,没有绝对的解决方案。

于 2009-03-16T14:29:39.827 回答
0

该文件必须由 SYSTEM 用户拥有,并且只有普通用户组具有读取权限。

您的安装程序应该能够创建文件,完全控制系统,然后消除本地用户权限。除了阅读权。

于 2009-03-16T14:29:42.183 回答
0

使用文件的内容创建一个 MD5 或类似的哈希。重新打开文件时,检查存储的哈希以确保文件没有更改。

于 2009-03-16T14:29:56.517 回答
0

这是我的想法!可能不是很有用!

限制对文件的权限(这很常见)并确保只有您的 porgram 可以访问它。但这不是失败证明,因为管理员用户可以更改文件的安全性。

读取前 n 个字节或一些随机字节并将其存储在注册表中。下次您的程序启动时检查字节是否匹配,如果文件未更改。如果是这样,您尝试重新创建文件。

于 2009-03-16T14:32:58.710 回答
0

做不到!

很抱歉这个直率的回答,但尽管有任何建议的软件措施来“保护”文件,但这无济于事。

如果用户真的想访问该文件,他可以简单地将硬盘插入另一台计算机并修改该文件。或者她可以使用独立于安装的操作系统运行的 Linux live CD。

于 2009-03-16T14:44:48.590 回答
0

使用嵌入在应用程序中的私钥对文件进行签名,并在加载文件之前检查签名。每次写入文件时都必须重新签名,以便签名反映任何更改(如果文件在未经签名的情况下被修改,则在尝试加载文件时会很明显)。

注意这并不完全安全。可以想象,破解者可以从您的应用程序中提取密钥,并使用它来签署他修改后的文件版本。它不能防止恶意攻击,但可以防止普通用户修改文件。

编辑:嗯,您似乎不在乎检测文件是否被修改,您实际上想防止文件被修改。抱歉,我认为没有办法做到这一点。用户可以轻松地终止任何“锁定”文件的进程,甚至可以使用 Live CD 或其他东西启动并以这种方式编辑文件。

于 2009-03-16T14:45:04.063 回答
0

我敢说……“ NTFS 备用数据流”——请不要开枪!

是的,它们很容易修改,但一般的瘾君子不容易找到。

于 2009-03-16T16:49:26.840 回答
0

由于大多数版本的 Windows 不采用密码保护您的文件和文件夹的方式,因此此页面提供了加密文件和文件夹的步骤。要密码保护您在 Windows 中的文件和文件夹,您想使用第三方程序。

Microsoft Windows Vista、7、8 和 10 位用户

不幸的是,Windows vista、Windows 7、Windows 8 和 Windows 10 不提供任何密码保护文件或文件夹选项。您想使用第三方软件包程序来完成此操作。如果您想对文件或文件夹进行编码,可以按照以下步骤完成:

  1. 选择您要编码的文件或文件夹。
  2. 右键单击文件或文件夹,然后选择属性。
  3. 在常规选项卡上,单击高级按钮。
  4. 选中“加密内容以保护数据”选项的复选框。
  5. 单击应用,然后单击确定。

Microsoft Windows XP 专业版用户

以下在 Windows XP Professional 上加密文件的步骤适用于使用具有 2 个或多个帐户的笔记本电脑的用户。如果您使用单个帐户,请参阅相反的安全解决方案部分。

  1. 选择您要编码的文件或文件夹。
  2. 右键单击文件或文件夹,然后单击属性。
  3. 在常规选项卡上,单击高级按钮。
  4. 选中“加密内容以保护数据”选项。
  5. 单击应用,然后单击确定。

Microsoft Windows XP 家庭用户

  1. 选择您要编码的文件或文件夹。
  2. 右键单击文件或文件夹,然后单击属性。
  3. 单击共享选项卡。
  4. 选中复选框将此文件夹设为私有
  5. 单击应用,然后单击确定。

要了解有关此主题的更多信息,请转到windows 中的密码学

来源:- 技术

于 2017-02-16T03:53:27.280 回答