изменить владельца каталога в Java - PullRequest
2 голосов
/ 16 декабря 2011

Как сменить владельца каталога в Windows с помощью API, может иметь дело с Java?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

Для самого файла это легко, но для каталога вы не можете (насколько я знаю) сделать это через Java, потому что он зависит от файловой системы (например, FAT, NTFS, HFS +, ext4 и т. Д.).).Извините.

На всякий случай, если вы имели в виду файл.

Из документации Java для Files.setOwner (File, UserPrincipal) :

Пример использования: предположим, что мы хотим сделать "joe" владельцем файла:

Path path = ...
UserPrincipalLookupService lookupService =
    provider(path).getUserPrincipalLookupService();
UserPrincipal joe = lookupService.lookupPrincipalByName("joe");
Files.setOwner(path, joe);

Также посмотрите раздел Управление метаданными в руководствах по Java.

0 голосов
/ 16 декабря 2011

Вероятно, проще всего использовать cacls.exe. Также здесь есть интересная дискуссия, которая будет применима и для написания acls / владельцев:

Чтение Windows ACL из Java

Редактировать: на самом деле, cacls не будет обрабатывать владение. Это лучше: https://serverfault.com/questions/27332/how-to-take-ownership-of-files-from-the-command-line

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...