Как переместить файл наследовать ACL его нового каталога, используя Java на Windows? - PullRequest
0 голосов
/ 06 февраля 2019

Перемещенный файл не наследует ACL своего нового каталога после перемещения его из исходного каталога в другой каталог на том же диске на компьютере Windows.

У меня есть сетевой диск с именем «A:»На этом диске у меня есть каталоги с именами «Каталог 1» и «Каталог 2».

A: / Directory 1

A: / Directory 2

Я сейчас перемещаю файлы из

A: / Directory 1 / Папка 1 (ACL все разрешения только для «Группы 1»)

*От 1018 * до

A: / Каталог 2 / Папка 1 / Папка 2 / Папка 1 (ACL все разрешения только для «Группы 2», НЕ для «Группы 1»)

  • Я попытался найти решение для переполнения стека и других сайтов.
  • Я попытался скопировать файл вместо его перемещения.
  • Я попытался использовать ACLкод, предоставляемый Java
  • Я попытался изменить настройки Windows, чтобы файлы наследовали ACL своего нового каталога, и подтвердил, что это работаетПосле ручного перемещения файла.

Код, который я сейчас использую:

Files.move(pdfFile.toPath(), Paths.get(newFileWithoutExtension + ".pdf"), StandardCopyOption.REPLACE_EXISTING);
Files.move(txtFile.toPath(), Paths.get(newFileWithoutExtension + ".txt"), StandardCopyOption.REPLACE_EXISTING);

И тогда, в надежде, копирование может вызвать наследование ACL ...

Files.copy(newPDfFile.toPath(), newPDfFile.toPath());
Files.copy(newTXTFile.toPath(), newTXTFile.toPath());

Я ожидаю, что после перемещения файла он просто получит новые разрешения для этого целевого каталога, так как в «Группе 1» ​​все права на этот файл будут потеряны, а «Группа 2» получит разрешения на этот файл.

В действительности «Группа 2» теперь имеет файл в своей собственной папке, к которому они могут получить доступ, полный файлов, которые они не могут открыть, поскольку эти файлы по-прежнему настроены на открытие только «Группой 1»

Как это сделать с Java?Я попытался изучить методы ACL, но они показались мне общими, и я не смог понять, как скопировать разрешения из каталога и применить их к целевому файлу.

...