У меня есть сервер Linux, и я запускаю задачу изменения размера изображения в Java для нескольких сайтов на моем сервере. Файлы веб-сайта принадлежат другим пользователям/группам ОС. Недавно созданные миниатюры/предварительные просмотры принадлежат пользователю, выполняющему задание изменения размера. Теперь я обсуждал, как изменить владельца файла недавно созданных превью/эскизов в моей программе изменения размера и наткнулся на это:
java.nio.file.Files.setOwner(Path path, UserPrincipal owner);
Это действительно решило бы мою проблему, если бы это была Windows, но поскольку в файле Linux есть пользователь и группа как владелец, я немного в беде. К сожалению, данный метод, похоже, только изменяет права пользователя на файл. Групповое владение остается с группой пользователей, выполняющих мое задание изменения размера.
Веб-сайты принадлежат различным группам, поэтому добавление моего пользователя изменения размера в одну группу не является вариантом. Я также хочу избежать системных вызовов с помощью ProcessBuilder
и выполнить chown
в моих файлах.
Мне нужно указать, что созданные файлы (предварительный просмотр/миниатюра) могут быть доступны через веб-сайт, и не имеет решающего значения изменить владельца группы, но я хотел, чтобы он был как можно более чистым.
Любые предложения о том, как я могу изменить групповое владение файлом в Linux только с помощью Java?