我有一个Linux服务器,并在服务器上为多个网站运行Java图像调整作业。网站文件由不同的操作系统用户/组拥有。新创建的缩略图/预览由运行调整作业的用户拥有。现在我正在谷歌搜索如何在我的调整程序中更改新创建的预览/缩略图的文件所有者,并找到了这个:
java.nio.file.Files.setOwner(Path path, UserPrincipal owner);
如果这是Windows系统,那么这个方法就可以解决我的问题,但由于Linux文件有一个用户和组作为所有者,所以我有点麻烦。不幸的是,给定的方法似乎只能更改文件的用户所有权,而组所有权仍然归属于运行我的Java调整大小作业的用户组。
这些网站归不同的组所有,因此将我的调整大小作业用户添加到其中一个组是不可行的。我还想避免使用ProcessBuilder
进行系统调用并在我的文件上执行chown
操作。
我需要指出的是,创建的文件(预览/缩略图)可以通过网站访问,并且更改组所有权对任务完成并非至关重要,但我希望尽可能地保持清洁。
有什么建议可以仅使用Java在Linux中更改文件的组所有权吗?