我正在构建一个简单的 LAMP,用于记录工厂自动化数据并通过 wifi 将这些信息本地提供给平板电脑和 PC。我已将其设置为通电时自动启动并自动登录以启动 Apache 和 MySql。所有这些都运行良好。
我的问题是,自动登录后,WWW 目录就会暴露,任何人都可以查看和修改那些 php 和 html 文件。
如何设置 WWW 目录权限以使 Apache 可以工作,但您不能查看或修改这些文件?
换句话说:我向客户提供了物理计算机机箱,但不希望他们查看或修改我的网络编程。
任何帮助是极大的赞赏。
答案1
除了上述的 Oli
如果你不想弄乱你的主板和磁盘。你可以购买带有内置物理锁的坚固塔式机箱,然后将水印粘到机箱上,这样你就能看到机箱是否被打开过(水印会被撕掉)。
答案2
我之前在这里介绍过类似的东西但这永远不够。只需要具有物理访问权限的人和少量专业知识即可获得 root 权限并访问您的文件。不过,您可以采取一些步骤使此操作尽可能困难:
系统为什么需要自动登录?该
lamp-server
任务的默认设置是在后台启动 LAMP 服务器。除了 httpd 之外,没有其他系统访问权限。您无需“登录”即可启动这些服务器,如果您以某种方式弄乱了一切,以便以特定用户身份登录以启动 Web 服务器,你这样做是错的。接下来,如果你确实需要桌面用户,为什么这必须与运行 Web 服务器的用户是同一个人(
www-data
默认情况下)?只需将它们分开,并确保你的文件权限不太开放。例如sudo chmod 750 /var/www/
应该足以阻止其他人阅读。跛脚幼虫删除恢复模式。
密码锁定 BIOS(通常无法防止 BIOS/CMOS 重置)
将 CMOS 电池热粘进去并覆盖 CMOS 重置跳线
使用烙铁或大量胶水将 SATA 电缆熔化到磁盘和主板中。
混淆并在每次部署时给您的文件加水印,这样如果文件被盗,您就可以追溯到一个客户,这样您就可以起诉他们。
物理访问限制也很重要。
也许最重要的是,如果你要将软件部署到某个地方,请确保软件部署人员知道他们要对其安全负责。这听起来很奇怪,但并不少见。与他们签订一份合同,概述如果他们的代码副本泄露,他们应承担的责任。
完成所有这些操作后,可能还需要花费大约十分钟的时间才能弄清楚如何访问这些文件。这主要是用来加热胶水以将其去除的时间。
如果你不想让他们获得访问权限,就不要给他们文件。自己托管它,并将其作为轻量级守护进程(你编写的)与之通信的服务提供。