Почему я не могу удалить этот файл как root?

Да, это возможно, с помощью инструмента ttyecho, который может имитировать взаимодействие с пользователем в различных терминалах.

Загрузите и установите:

wget http://www.resulinux.tk/utils/ttyecho.c -O ttyecho.c
gcc ttyecho.c -o /usr/bin/ttyecho

Теперь давайте выполним что-нибудь в другом терминале, например, как пользователь john, который является loggeg в pts / 17, используя xterm, как вы видите в команде ps:

ps aux | grep john 
john   9198  0.0  0.0  23836  4524 pts/17   Ss   Jul21   0:00 /bin/bash

Теперь давайте попробуем открыть vi и введите текст в другой терминал.

ttyecho -n /dev/pts/17 vi (executed vi command on the other terminal) 
ttyecho  /dev/pts/17 i (entered in insertion mode)
ttyecho -n /dev/pts/17 some text  

Когда вы посмотрите на терминал, в который вошел Джон, вы увидите, что vi действительно выполняется, и вы можете увидеть текст, который мы набираем на нем «какой-то текст». Итак, теперь у вас есть полный контроль над другими терминальными сессиями.

Выполнение команд в нескольких сеансах ssh

Определите устройства ssh pts:

ps aux | grep ssh

root      3540  0.0  0.0  44924  5764 pts/1    S+   14:46   0:00 ssh root@172.16.200.2
root      5907  0.0  0.0  44924  5684 pts/17   S+   12:51   0:00 ssh root@172.16.200.1
root      8074  0.0  0.0  51216  3948 pts/6    S+   Jul26   0:01 ssh root@192.168.2.77

Итак, чтобы выполнить команды на ssh, зарегистрированные в 192.168.2.77, мне просто нужно:

ttyecho -n /dev/pts/6 ls

И команда ls будет выполняться действительно удаленно в единый сценарий!

20
03.02.2016, 17:09
0 ответов

Теги

Похожие вопросы