Создание папки / файла java с разными правами пользователя

Создание папки / файла в java зависит от пользователя, от которого вы выполняете код. Мое приложение создает пользовательскую папку / файлы с помощью Runtime.exec, но теперь мы собираемся поддерживать несколько ОС, соответственно команды, которые я выполняю, изменятся.
Есть ли какое-либо решение, предназначенное исключительно для Java, в котором папки / файлы будут создаваться конкретным пользователем?

А как насчет java.nio.file.Files.CreateDirectory и java.nio.file.Files.CreateFile?

DodgyCodeException 11.04.2018 14:16

Вы хотите сказать, что PosixFilePermission будет полезен для установки разрешений для папки / файлов, но это не позволит нам изменить владельца, не так ли?

Mahesh Pardeshi 11.04.2018 15:48
1
2
408
1

Ответы 1

Это довольно просто, вам просто нужно создать файл как обычно, а затем вызвать Files.setOwner (). В качестве альтернативы создайте файл с Files.createFile (), а затем убедитесь, что вы передаете атрибут файла с ожидаемым владельцем.

Обратите внимание, что в большинстве операционных систем ваш процесс должен запускаться как привилегированный процесс, чтобы назначать файлы другому пользователю.

Другие вопросы по теме