2015-06-14 7 views
0

Я столкнулся с проблемой. Я хочу использовать «RunTime.exec()» для запуска cmd в своем веб-приложении, в то время как служба tomcat не запускается как администратор и не имеет права запускать cmd , Итак, если есть способ запустить службу в качестве администратора, но не вручную, нажмите tomcat.exe?Как запустить службу tomcat как администратор

ответ

1

Там один принцип, что вы всегда должны иметь в виду: приложение, которое вы можете получить из Интернета должен всегда запускать с как минимальными разрешений, как это возможно. Это полностью (всегда!) Запрещает работать как администратор. Если кто-то обнаружит проблему безопасности в вашем приложении, вы не хотите предоставлять им бесплатные права администратора.

Даже разрешение на выполнение cmd сомнительно, чтобы иметь доступ к Интернету. В упрощенной системе это скорее задача другого сервера, работающего с разными привилегиями (опять же, не администраторами), к которым будет подключен ваш веб-сервер (tomcat).

В качестве быстрого исправления вы можете предоставить разрешения на выполнение CMD для пользователя, на котором работает ваш tomcat. В качестве очень быстрого исправления вы можете изменить конфигурацию службы tomcat - там, где вы настроите, что tomcat должен работать как служба (и где вы настраиваете список служб автозапуска), вы также можете указать учетную запись пользователя, в которой она работает. Я не даю точных указаний по причинам, приведенным в первых двух параграфах, - я искренне предлагаю вам изменить свой подход.

+0

Большое спасибо. В принципе, это не безопасный способ запускать службу tomcat как администратор. Это приложение работает с локальной сетью. Я попытался войти в систему, кто имеет разрешения на выполнение CMD, даже содержит моего собственного пользователя (как администратора) для службы tomcat, но он тоже не работает. tomcat.ext, чтобы обеспечить работу cmd ... – Yong

Смежные вопросы