Форум сайта python.su
Необходим инструмент, с помощью которого можно выполнять шелл команды на удаленном сервере. Есть одна тонкость, а именно: на сервере нет sudo и вход на сервер осуществляется через юзера, а потом осуществляется переход на рут. Переход осуществляется с помощью утилиты su. Т.е нужен инструмент, который:
1) выполнит вход под пользователем
2) выполнит команду su root -c some_cmd и введет в промпт рут пароль
3) впоймает ответ команды
4) отключится от сервера
Использовал для этого fabric, с декораторами и переопределением sudo_prefix(по дефолту он не умеет без sudo), но мне всё больше и больше кажется, что этот инструмент для деплоя. А мне чуть-чуть другое нужно.
PS: 1)нет, судо поставить не могу. 2) нет, saltssh заюзать нет вариантов 3) pyexpect не предлагать т.к он вышеозвученных вещей не умеет, у него другое предназначение, которое не подходит под мои нужды.
Офлайн
Что-то я не понял в чем прикол.
А просто в терминале подключиться к вашему серверу по ssh в чем проблема?
Офлайн
FishHookПопробуйте из терминала авторизоваться как юзер, потом перейти на рут и выполнить команду от рута и впоймать результат выполнения команды и покажите нам.
Что-то я не понял в чем прикол.А просто в терминале подключиться к вашему серверу по ssh в чем проблема?
Отредактировано remoshka (Сен. 29, 2015 10:58:13)
Офлайн
> Попробуйте из терминала авторизоваться как юзер, потом перейти на рут
А сразу авторизоваться как root не вариант?
> и выполнить команду от рута и впоймать результат выполнения команды и покажите нам.
Ты откуда / через что подключаешся?
Офлайн
Rodegast
> Попробуйте из терминала авторизоваться как юзер, потом перейти на рутА сразу авторизоваться как root не вариант?> и выполнить команду от рута и впоймать результат выполнения команды и покажите нам.Ты откуда / через что подключаешся?
Офлайн
> Попробуйте из терминала авторизоваться как юзер, потом перейти на рут
Офлайн
FishHookговорят же вам, что НЕТ sudo на серверах. Прочитайте пожалуйста еще раз мое первое сообщение
Офлайн
> Авторизация проходит через юзера и возможен переход на рута уже логиненного юзера
root разве не юзер?
> говорят же вам, что НЕТ sudo на серверах.
А sudo тут причём?
Офлайн
Rodegast
> Авторизация проходит через юзера и возможен переход на рута уже логиненного юзераroot разве не юзер?> говорят же вам, что НЕТ sudo на серверах.А sudo тут причём?
Офлайн
Еще раз: ищется либа, с помощью которой можно:
1) зайти на сервер под юзером. С помощью su root -c ‘id’ выполнить команду(впоймать промпт ввода рут пароля и ввести его).
2) впоймать результат выполненной cmd
3) дисконнектиться
Отредактировано remoshka (Сен. 29, 2015 12:24:45)
Офлайн