GNU Screen
GNU Screen es un programa informático de Multiplexación de terminales.[1] Fue desarrollado por el proyecto GNU. Permite a los usuarios acceder a múltiples sesiones separadas dentro de una sola ventana de terminal o en una sesión de terminal remota. Es útil para tratar con múltiples programas en la línea de comandos y para separar programas de la terminal que los lanzó.
GNU Screen | ||
---|---|---|
Parte de Proyecto GNU | ||
Captura de una sesión de GNU Screen. | ||
Información general | ||
Tipo de programa | CLI | |
Licencia | GNU GPL | |
Versiones | ||
Última versión estable | 4.9.1 (info) ( 17 de agosto de 2023 (1 mes y 13 días)) | |
Enlaces | ||
Puede imaginar a GNU Screen como una versión en texto de gestores de ventanas gráficos o como una forma de abrir terminales virtuales dentro de cualquier sesión accedida. Screen consiste en una envoltura que permite usar múltiples programas de texto al mismo tiempo y provee características que permiten al usuario usar programas productivamente desde una única interfaz.
Características
Persistencia
Similar a VNC, GNU Screen permite al usuario comenzar aplicaciones desde un computador, reconectar desde un computador distinto y continuar usando la misma aplicación sin tener que reiniciarla. De este modo se consigue que la migración entre localizaciones como el trabajo y el hogar sea simple. Screen provee funcionalidad de terminal-agnóstica de modo que los usuarios pueden conectar y reconectar usando distintos tipos de terminal, permitiendo a las aplicaciones seguir ejecutándose sin tener en cuenta sus cambios.
Ventanas múltiples
Se pueden crear múltiples sesiones en la terminal, cada cual corriendo una aplicación. Las ventanas son enumeradas, y el usuario puede intercambiarlas por medio del teclado. Algunos emuladores de GUI proveen de pestañas o alguna otra funcionalidad similar para esto. Cada ventana tiene su propio scroll-back buffer, de manera que la salida es capturada incluso cuando la ventana no está siendo mostrada. Este historial puede ser guardado aun cuando se migra a otro computador.
Vulnerabilidades
El Proyecto GNU recibió de manera anónima un "bug" en el que se advierte que se puede utilizar el GNU Screen como vía para escalar privilegios y obtener control de un ordenador con credenciales de root.[2] Hasta la fecha la vulnerabilidad no ha sido parchada por lo que crackers utilizan guiones en lenguaje Python secundados con bibliotecas en lenguaje C para ilustrar el acceso y demostrar la vulnerabilidad.[3] La versión afectada es GNU Screen 4.5.0 y ha sido clasificada como de severidad normal y prioridad normal en su resolución.
Historia
Screen fue diseñado originalmente por Oliver Laumann y Carsten Bormann en la Universidad Técnica de Berlín y publicado en 1987.[4][5]
Los criterios de diseño incluían la emulación VT100 (incluyendo ANSI X3.64 (ISO 6429) e ISO 2022) y un rendimiento razonable para un uso diario intensivo cuando los terminales basados en caracteres aún eran comunes. Más tarde se añadió la novedosa función de desconexión/desconexión.
Alrededor de 1990, Laumann traspasó el mantenimiento del código a Jürgen Weigert y Michael Schroeder en la Universidad de Erlangen-Nuremberg, quienes más tarde trasladaron el proyecto al Proyecto GNU y añadieron funciones como el desplazamiento hacia atrás, la pantalla dividida, copiar y pegar y la pantalla compartida.[6]
En 2014, el desarrollo se había ralentizado. Amadeusz Sławiński, que quería cambiar esta situación, se ofreció para ayudar. En respuesta, Laumann le concedió el mantenimiento. Sławiński procedió a publicar la primera nueva versión de Screen en media década. Como había algunas versiones no oficiales de "Screen 4.1" circulando por Internet, llamó a esta nueva versión "Screen 4.2.0".
En mayo de 2015, en la Conferencia openSUSE, Jürgen Weigert invitó a Alexander Naumov a ayudar a desarrollar y mantener GNU screen. Dos meses más tarde, con la ayuda de Alex, se publicó GNU screen 4.3.0.
Referencias
- «Introduction to GNU Screen». Free Software Foundation. 2010. Consultado el 7 de octubre de 2010.
- «[screen-devel] [bug #50142] root exploit 4.5.0». Proyecto GNU. Archivado desde el original el 25 de enero de 2017. Consultado el 9 de abril de 2018. «The check opens the logfile with full root privileges. This allows us to truncate any file or create a root-owned file with any contents in any directory and can be easily exploited to full root access in several ways. »
- Encinar, Josue (9 de abril de 2018). «Elevandonos a Root en Linux» (html). Boomernix. Archivado desde el original el 9 de abril de 2018. Consultado el 9 de abril de 2018. «Por hacer un resumen, el error recae en la apertura del registro con privilegios root, dando la posibilidad de crear un archivo cualquiera con el propietario root. »
- (20 Mar 1987). "BSD screen manager -- Part 1 of 2 - (nf)". net.sources. (Google Groups).
- (20 Mar 1987). "BSD screen manager -- Part 2 of 2 - (nf)". net.sources. (Google Groups).
- screen ftp
Enlaces externos
- GNU's Screen Sitio Oficial
- GNU Screen en GNU Savannah
- GNU Screen El manual del programa
- El manual del usuario en pantalla
- Introducción a GNU Screen
- Esta obra contiene una traducción derivada de «GNU Screen» de Wikipedia en inglés, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.