Я пытаюсь упаковать java-приложение с помощью инструмента java packager (я новичок в этом инструменте), само приложение должно сделать несколько внутренних вызовов (используя api-процесс java)
Это прекрасно работаетесли приложение Java запускается с правами администратора.например, если я запускаю мое jar-приложение как sudo java -jar application.jar
, то все подпроцессы также становятся администраторами.
В целях распространения У меня нет контроля над тем, как пользователи будут запускать приложение. , таким образом, пытаюсь использовать инструмент java packager, но мне нужно обеспечить, чтобы приложение запускалось с правами администратора.(нормально, приложение остановится, если у пользователя нет sudo, например)
Другой обходной путь, которого я очень хочу избежать, - попросить пользователя ввести пароль admin / sudo при запуске внутренних процессов...
--- EDIT --- Я думаю, мне нужно было добавить больше фона после комментариев и ответа, который я получил.хотя проблема заключается в обнаружении администратора или нет .. это не та проблема, с которой я сталкиваюсь.
class MyApp...
main(...){
System.exec("start format.app")
}
format.app
требует администратора для работы.
Я использую javapackagerинструмент для распространения MyApp.app (для Mac) MyApp.exe (для Windows) и т.д ...
Я хочу, чтобы MyApp.app был исполняемым только для пользователя с правами администратора.если пользователь пытается запустить MyApp.app не имеет прав администратора, ОС запросит ввод учетных данных, иначе ОС не позволит запустить приложение.
мой обходной путь используетsudo но их мне нужно предложить пользователю ввести пароль .. что для меня является проблемой безопасности (приглашение не является Native) и 2 / I этот подход слабее и может раскрыть пароль при подключении к процессу