我有一个由多个团队在各种平台(Windows、Linux、Mac)上维护的项目。我有一台 Mac(Catalina OS),项目和它的一些依赖项写在系统的根目录中的一些文件和目录中(/log/a/b/c/x.txt 只是一个例子,有很多这样的文件) .由于根位置在 Catalina 中不再可写,因此我无法在我的系统中运行该项目。项目在 Java Spring 中,但我认为任何与项目相关的细节在这里都不相关。
我不知何故再次希望能够在根位置写入。我不知道如何,但我可以从解决方案的角度思考一些事情
- 如果以某种方式在 Java/Spring 中,它可以设置为在每个文件路径前附加一个前缀。
- 在 Java/Spring 中,如果 root 只能从 java 重定向到其他某个位置。
我已经完成了解决方案 here但我的公司不允许在每次系统启动时使用 csrutil
。
感谢任何帮助。
最佳答案
也许 chroot jail可以帮你。 :)
使用它,您可以将您的应用程序“关押”在某个目录中(例如 /my-chosen-jail/
)。然后它会将其视为根。因此,如果您的应用程序尝试创建 /test.txt
,它实际上会创建 /my-chosen-jail/test.txt
。
关于java - 可以再次在 Catalina Mac OS 中从 root 写入或重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60800243/