我有一个使用Bluecove库的 Java 项目,该库需要 root 权限才能执行我在项目中需要的某些操作。我应该在这里指出,尽管该项目是基于 Java 的,但它仅适用于 Linux。
该项目将有许多不需要 root 权限的功能,其中一些必须与 root 权限功能交互,而另一些则不需要。
此外,该项目将在 root 权限下使用用户输入的数据执行hciconfig等程序。
所有这些根活动导致我担心我的系统的安全性。目标机器将是用户自己的计算机,并且无意在某些公共终端上运行该系统,但安全性仍然很重要,因为未知的外部蓝牙设备将能够与该系统进行交互。
到目前为止,我的安全措施涉及大量过滤用户输入,并非常注意外部蓝牙设备将导致系统执行的所有操作,但我对此越来越不满意。
人们会推荐什么?一种想法是将系统分成两个或三个模块,一个包含 GUI 和非根后端,一个包含 Bluecove 根后端,可能还有一个用于 hciconfig 和其他使用的工具的根包装器。
我注意到一些程序,例如 Apache,曾经运行“下拉”他们的权限。这是如何实现的,这是否有效?