Эта функция называется ведением журнала и существует в исходном коде, но отключена по умолчанию из соображений безопасности. Вы действительно хотите, чтобы все, кто имеет возможность записывать управляющие последовательности в ваш терминал (, например, , автор любого файла, которого вы могли бы однажды cat
), могли бы записывать произвольные данные в файлы с произвольными именами в Ваш аккаунт?
Например, злоумышленник может легко использовать эту функцию, чтобы изменить ваш ~/.ssh/authorized_keys
, чтобы предоставить злоумышленнику доступ, и изменить ваш ~/.profile
для проверки связи с вашим IP-адресом.
Тем не менее, если вы скомпилируете xterm с помощью --enable-logging
AND you #define ALLOWLOGFILECHANGES
, то в соответствии с руководством Xterm Control Sequence вы получите доступ к следующим последовательностям управления:
^[[?46h Start logging
^[[?46l Stop logging
^[]46;filename\007 Change log file to `filename`
Имя файла журнала по умолчанию будет называться Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX
.
Существует также опция, позволяющая включить регистрацию через канал, что также очень опасно, если вы разрешаете изменять регистратор с помощью управляющих последовательностей. Это также позволит любому исполнить свой код в вашей системе.