2012-05-03 4 views
1

Я работаю над инструментом развертывания в Django и тканью. Дело в том, что в первоначальной форме вставляются некоторые параметры (например, имя хоста и имя пользователя), а затем приложение Django вызывает вызовы методом «тень», чтобы сделать остальное и собирать выходные данные в веб-браузере.Ткань + django асинхронная подсказка для пароля sudo

Если у вас есть запрос пароля от операционной системы к операционной системе (т. Е. Запущенные команды sudo и т. Д.), Я бы хотел всплывать однополевую форму для вводимого в нее пароля (например, с помощью элементов пользовательского интерфейса jQuery) , Человек заполнит поле пароля для запроса пользователя, и ткань будет продолжать делать что-то. Можно ли реализовать эту ситуацию? Я думал о некоторых асинхронных вызовах в браузере, но я понятия не имею, как это можно сделать с другой стороны. Наверное, есть и другой способ.

Пожалуйста, дайте мне знать, если у вас есть предложения. Благодаря!

ответ

2

Да, захватить исключение пароля, чем всплывать форму, и запустить скрипт ткани снова env.password = userpassword

Если вы хотите продолжить, где вы поймали исключение, сохранить переменную, которая знает, что имеет (т. е. nlinesexecuted) и сохранить его, когда вы поймаете исключение. Используйте логику при повторном запуске скрипта, чтобы продолжить работу, где вы оставили.

1

Я не могу придумать способ сделать подсказку пароля только в случае необходимости ... вы могли бы запросить до и кешировать его по мере необходимости, хотя, и бэкэнд будет иметь доступ.

Чтобы передать пароль SUDO к команде ткани, вы можете использовать Суд -S ... т.е.

эха пароль | Суда -S команды