Java: запрашивать права суперпользователя в Ubuntu - PullRequest
1 голос
/ 19 августа 2011

Как вызвать окно аутентификации, чтобы на некоторое время предоставить доступ для root для текущего приложения из класса. например, я пишу какое-то приложение для работы с разделами, поэтому для выполнения некоторых задач ему нужны права root.

1 Ответ

4 голосов
/ 19 августа 2011

Вероятно, вы не можете сделать это с Java.Лучший способ сделать это - возможно, вы обнаружите, что программа не запущена как sudo, поэтому вы можете попросить пользователей закрыть программу и повторно запустить ее как суперпользователь.(для этого решения я бы предпочел выбрать файл или каталог из системных файлов и проверить, доступен ли он для записи. Например, new File("/usr/bin/ls").isWritable())

Другими способами может быть запуск окон проверки подлинности, специфичных для среды рабочего стола.Например, существует Java-gnome , но, как и следовало ожидать, не все пользователи должны использовать GNOME.Так что на самом деле нет универсального решения, и все идет с кучей зависимостей.Java не предназначена для этого.

Лучше всего проверить привилегии суперпользователя с помощью хитрости при запуске.Может быть, вы сможете разработать свою проблему, и мы сможем найти решение, которое не требует root-доступа.

...