Microsoft confirma Sudo para Windows
Hace unos días nos hacíamos eco del descubrimiento de un sitio especializado de una implementación del comando Sudo en Windows. Ahora Microsoft confirma Sudo para Windows. Lo que no sabíamos, y es una gran noticia, es que Microsoft hará que su implementación de Sudo sea de código abierto.
En realidad, ya había una implementación realizada por un programador independiente, y son los propios desarrolladores de Sudo en Microsoft los que recomiendan utilizarla si se necesitan más prestaciones que l versión oficial.
Pero, hablemos primero del anuncio de Microsoft y después nos metemos con la alternativa.
Microsoft confirma Sudo para Windows
Jordi Adoumie, Gerente de Producto para la plataforma de desarrolladores de Microsoft, publicó en el blog oficial las características de la nueva función que conciden bastante con lo que la gente de Windows Latest dedujo de unas pocas ventanas.
El comando Sudo permitirá que los usuarios tengan temporalmente privilegios de administrador sin necesidad de habilitarlos como usuarios administradores. Estará disponible a partir de Windows 11 Insider Preview Build 26052!.
Se podrá habilitar en forma gráfica desde la sección Desarrolladores de la Configuración o desde la línea de órdenes o PowerShell escribiendo como administrador:
sudo config --enable <configuration_option>
Este último parámetro admite 3 variantes:
- En una nueva ventana.
- Ingresos cerrados.
- Ventana actual.
En una nueva ventana
Abre una consola con privilegios de administrador. Es el modo por defecto.
Ingresos cerrados
En este modo de configuración, Sudo para Windows corre el proceso con privilegios en la misma ventana, pero con su stdin cerrado. Stdin es un acrónimo que debemos a los creadores del lenguaje de programación C y remite a la expresión inglesa «standard input» (Lo podemos traducir como entrada estándar). Para gran parte de los sistemas operativos y lenguajes de programación, la expresión antes citada refiere al flujo de datos que se genera en el teclado o ratón o el enviado de otro proceso.
Es decir, que en esta configuración de Sudo, el nuevo proceso no hará caso de ninguna entrada del usuario. De ahí que esta modalidad no deberá usarse en aquellos procesos que además de privilegios de administrador requieran interacción con el usuario.
Cuando el usuario decide utilizar el comando Sudo, el UAC pide una confirmación. UAC son las siglas que identifican al sistema de control de cuentas de usuario de Windows. El UAC verifica las credenciales de los usuarios y piden confirmación cuando este pretenda realizar cambios en el sistema.
Ventana actual
Tal vez el modo en el que Sudo se comporta más parecido a su hermano mayor de Unix. El proceso se ejecuta en la ventana actual lo mismo que las entradas, las salidas y los mensajes de error.
gsudo
Les dije antes que había una herramienta con más prestaciones que el Sudo de Microsoft. Fue desarrollada por un programador independiente y parece ser más parecido con el Sudo original. Además, se puede usar en Windows 10.
De acuerdo con la descripción de la página en GitHub del proyecto, gsudo es el equivalente al comando Sudo de Unix brindado una experiencia de uso similar. El usuario solo tiene que anteponer gsudo o sudo al comando para poder ejecutarlo como usuario administrador a convertir la línea de comandos a una de administrador.
Cada vez que se ejecute gsudo, aparecerá la ventana del UAC pidiendo confirmación, pero esto puede modificarse. gsudo funciona con Cmd, PowerShell, WSL, git-bash, MinGW, Cygwin, Yori, Take Command, BusyBox y NuShell.)
Un poco de historia
El comando sudo es un acrónimo en inglés (que se traduce como «realizar como superusuario» en nuestro idioma) Se lo debemos a Bob Coggeshall y Cliff Spencer. Lo hicieron en 1980, en el departamento de ciencias de la computación de la Universidad estatal de Nueva York. El mantenedor actual es el desarrollador de OpenBSD Todd C. Miller quien lo distribuye bajo una licencia BSD.
La función de sudo es dejar que los usuarios puedan ejecutar comandos con permisos superiores a los que les fueron asignados originalmente. Se usa para realizar tareas administrativas o modificar archivos restringidos, sin dar acceso total al sistema al usuario