我们的应用程序是由 SU 或普通用户运行的。我们有一个与我们的项目连接的库。在该库中有一个我们要调用的函数。我们有一个文件夹叫notRestricted
在我们运行应用程序的目录中。我们创建了一个新线程。我们想要限制线程对文件系统的访问。我们想要做的很简单 - 调用该函数但限制其访问权限仅写入该文件夹(我们更愿意让它从应用程序可以读取的任何位置读取)。
Update:所以我发现除了一个文件夹之外,没有办法只禁用所有 FS 中的一个线程......
我读了你的建议,亲爱的 SO 用户,并发布了一些内容类似于这里的这个问题所以在那里给了我们一个链接sandbox with 不错的 API,但我真的不知道它是否可以在GentOS之外的任何东西上工作(但无论如何,这样的脚本在使用的情况下看起来非常有趣Boost.Process 命令行运行它,然后运行所需的前线程(已迁移到单独的应用程序=))。
实际上没有任何方法可以阻止thread,因为它与您位于同一进程空间中,除了诸如函数挂钩之类的黑客方法来检测任何类型的文件系统访问。
也许您可能想重新考虑如何实现应用程序 - 让本机不受信任的代码作为 su 运行并不是一个好主意。也许使用另一个进程并通过它进行通信。 RPC,或使用可以在运行时检查的解释语言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)