Python fabric - run метод не завершается
всем привет,
Я подготовил фрагмент кода, который намеревается войти в систему как пользователь root.
Я не могу использовать метод "sudo", потому что он не существует в системе, которую я хочу контролировать, и ведение журнала непосредственно как "root" невозможно. Моя идея состоит в том, чтобы войти в систему как пользователь "admin", а затем использовать команду "su", чтобы переключиться на пользователя "root".
Раздел ниже содержит код, который почти работает для меня. Есть идеи, как это решить? Заранее спасибо:)
Что я уже пробовал:
Мое окружение:
Питон 3.7
Ткань 2.4.0
Код:
from fabric import Connection from invoke import Responder sudopass = Responder(pattern=r'Password:', response='adminPassword\n') with Connection('192.168.0.106', user="admin", port=22, connect_kwargs={"password": "admin"}) as dss: command = "uname -s" print("Response on {} is: {}".format(command, dss.run(command))) command = "whoami" print("Response on {} is: {}".format(command, dss.run(command))) command = "su" print("Response on {} is after executing su command: {}".format(command, dss.run(command, pty=True, watchers=[sudopass]))) command = "whoami" print("Response on {} is: {}".format(command, dss.run(command))) print("Script end")
Выход:
Linux Response on uname -s is: Command exited with status 0. === stdout === Linux (no stderr) dssadmin Response on whoami is: Command exited with status 0. === stdout === dssadmin (no stderr) Password: /home/dssadmin #
Как видите, скрипт застрял после отправки команды "su".
Richard MacCutchan
Вам нужно поговорить с владельцем системы Linux. Возможно, существуют ограничения на использование Су.
MateoGlowinski
Нет, их нет. Это версия linux, подготовленная нашей компанией, которая не включает команду sudo
Member 14102755
ExcelR предлагает бизнес-аналитику / Data Scientist Course / Data Analytics Training & Data Science Course Training в Бангалоре, со 100% размещением.<a href="https://www.excelr.com/business-analytics-training-in-bangalore/”>сертификация науки о данных в Бангалоре
Member 14102755
ExcelR предлагает бизнес-аналитику / Data Scientist Course / Data Analytics Training & Data Science Course Training в Бангалоре, со 100% размещением.<a href="https://www.excelr.com/business-analytics-training-in-bangalore/”>обучение науке о данных в Бангалоре