![在 Windows 7 中加密文件夹但允许程序访问](https://linux22.com/image/1282500/%E5%9C%A8%20Windows%207%20%E4%B8%AD%E5%8A%A0%E5%AF%86%E6%96%87%E4%BB%B6%E5%A4%B9%E4%BD%86%E5%85%81%E8%AE%B8%E7%A8%8B%E5%BA%8F%E8%AE%BF%E9%97%AE.png)
我是一名 Web 开发人员,有时会在笔记本电脑上开发包含机密客户信息的网站。我可以为相关文件夹启用加密,但这样做后,我的本地 Apache 服务器将无法再访问加密文件夹中的数据。如何允许 Apache 访问加密数据而不破坏加密?
答案1
所有软件(包括 Apache 服务器)都在用户帐户下运行。特定用户帐户限制了软件访问文件或网络等资源的权限。不过,有些“用户”帐户是 Windows 内部的,并不代表人类用户。Apache 可能会在这样的内部帐户下运行。
在 Windows 中加密文件时,通常还会限制对自己用户帐户的访问。因此,其他用户帐户将无法再访问该文件。由于 Apache 不在您的用户帐户下运行(毕竟,它在您未登录时仍可运行),因此 Apache 无法访问您的加密文件。
一个简单的解决方案是启用全盘加密。这应该是笔记本电脑的默认设置;它们太容易被盗、丢失等。您需要密码才能启动笔记本电脑,但一旦启动,磁盘仍可供所有软件(包括 Apache)访问。
答案2
另一个解决方案应该是:
如果您使用 Windows EFS 并将 Apache 作为服务启动,则需要执行以下操作:
- 进入服务并找到 Apache 服务
- 停止服务
- 右击 -> 属性 -> LogON TAB
- 勾选“此帐户”
- 填写您的 Windows 帐户名称,例如“.\username”
- 提供您的密码
- 启动服务
Apache 服务现在应该可以看到这些文件。