Когда вы отправляете команду echo на /dev/pts/0
, вы буквально просто отправляете вывод этого эха на вывод другого TTY - вы не отправляете его на другой TTY входные буферы. Поэтому ваша вложенная команда echo
будет просто отображаться на другом TTY, но не будет выполнена.
Существует ioctl()
вызов TIOCSTI
, который можно использовать для фальсификации ввода в другом TTY, но только если у вас есть разрешение на «запись» в этот другой TTY.
Много лет назад я вспоминаю, что некоторые друзья и я обнаружили дыры в некоторых версиях UNIX, которые не обеспечивали правильное соблюдение разрешений безопасности для TIOCSTI. Если root оставил терминал где-то вошедшим в систему, можно было заставить терминал пользователя root вводить команды от вашего имени ...