3 puntos por GN⁺ 2024-02-09 | 1 comentarios | Compartir por WhatsApp
  • Se anunció el lanzamiento de Sudo para Windows en Windows 11 Insider Preview Build 26052
  • Sudo para Windows es una nueva forma de permitir que los usuarios ejecuten comandos elevados directamente desde una sesión de consola sin privilegios
    • Ya no hace falta buscar "Ejecutar como administrador"
  • Fue publicado como código abierto en GitHub
  • Si necesitas funciones adicionales que Sudo para Windows no ofrece, recomiendan revisar gsudo de Gerardo Grignoli

Cómo activar Sudo para Windows

  • Puedes activar Sudo para Windows yendo a la página de configuración "Para desarrolladores" de Windows y habilitando la opción "Activar Sudo"
  • O también puedes habilitarlo ejecutando el siguiente comando en una sesión de consola elevada: sudo config --enable

Cómo configurar Sudo para Windows

  • Sudo para Windows actualmente admite tres opciones de configuración: ejecutar en una nueva ventana (forceNewWindow), deshabilitar entrada (disableInput) y ejecutar en línea (normal)
  • Para cambiar la opción de configuración, usa el menú desplegable en la página de configuración "Para desarrolladores" de Windows o ejecuta un comando en una sesión de consola elevada.

Opción de configuración 1: En una nueva ventana

  • En esta configuración, Sudo para Windows abre una nueva ventana de consola elevada y ejecuta el comando en esa ventana.
  • Por ejemplo, si ejecutas sudo netstat -ab, se abrirá una nueva ventana y el comando se ejecutará allí.

Opción de configuración 2: Deshabilitar entrada

  • En esta configuración, Sudo para Windows ejecuta el proceso elevado en la ventana actual, pero el nuevo proceso se crea con stdin cerrado.
  • Es decir, el nuevo proceso no acepta entrada del usuario, por lo que no funcionará con procesos que requieran entrada adicional después de elevar privilegios.

Opción de configuración 3: En línea

  • Esta configuración es la que más se parece al comportamiento de sudo en otros sistemas operativos.
  • Sudo para Windows ejecuta el proceso elevado con stdin, stdout y stderr conectados a la ventana actual.
  • Esto significa que el nuevo proceso elevado puede recibir entrada y enviar salida a la ventana actual.

Cómo funciona

  • Cuando se usa sudo desde la línea de comandos para elevar los privilegios de un proceso, aparece un cuadro de diálogo de UAC para que el usuario confirme la elevación.
  • Cuando el usuario confirma la elevación, el proceso se eleva según la opción de configuración seleccionada.
  • Para consultar los parámetros opcionales del comando sudo, ejecuta sudo -h en la consola.

En una nueva ventana

  • En esta configuración, sudo.exe abre una nueva ventana de consola elevada y ejecuta el comando en esa ventana.
  • La nueva ventana se inicia con el mismo directorio de trabajo y las mismas variables de entorno que la ventana actual.
  • Esta configuración sigue un flujo similar al comando runas.

Deshabilitar entrada y en línea

  • En esta configuración, sudo.exe inicia un nuevo proceso elevado, pone en marcha el proceso elevado de sudo.exe y el sudo.exe original sin privilegios establece una conexión RPC con el nuevo proceso elevado.
  • En otras palabras, la información se transfiere desde la instancia de sudo sin privilegios hacia la instancia elevada.
  • En particular, el identificador de consola del proceso sin privilegios se pasa al proceso elevado, lo que permite que el proceso elevado lea entrada del proceso sin privilegios y escriba salida hacia él.
  • Sin embargo, en la configuración de "Deshabilitar entrada", el identificador de entrada de la consola no se pasa al proceso elevado, por lo que no puede leer entrada del usuario.

Próximos pasos

  • El equipo está trabajando en hacer Sudo para Windows de código abierto y planea compartir más detalles sobre sus planes en los próximos meses.
  • Piden que se comparta retroalimentación directamente en el repositorio de GitHub.

Opinión de GN⁺:

  • El lanzamiento de Sudo para Windows es un avance importante para ofrecer a los usuarios de Windows una experiencia de gestión de privilegios al estilo Linux.
  • Esta herramienta ayuda a los desarrolladores a trabajar de forma más eficiente y, al ser de código abierto, puede recibir aportes de la comunidad.
  • Desde el punto de vista de la seguridad, el uso de la configuración "En línea" requiere precaución, y resulta interesante que planeen ofrecer más información sobre estos temas de seguridad en la documentación futura.

1 comentarios

 
GN⁺ 2024-02-09
Opiniones de Hacker News
  • El comando sudo está llegando a Windows. No es un simple port de sudo de Linux, sino una nueva implementación que toma en cuenta las diferencias en la estructura de permisos entre sistemas operativos. El objetivo es ofrecer a los usuarios la experiencia de ejecutar comandos con privilegios de administrador en la misma ventana de terminal.
  • Me da una sensación similar a cuando PowerShell reemplazó curl y wget con comandos completamente distintos. Eso puede ser un problema porque los argumentos no son compatibles.
  • elevate de Nirsoft funcionaba bien, pero es mejor tener una función más integrada en el sistema.
  • Es interesante que sudo sea mantenido casi por una sola persona.
  • Es extraño escribir sobre la excelente usabilidad de sudo sin mencionar a los sistemas operativos tipo Linux/Unix.
  • Cuando trabajaba en Microsoft, no consideraban a UAC (User Account Control) como un límite de seguridad. Me pregunto cómo pudo lanzarse esta función así, o si ahora sí consideran a UAC como un límite de seguridad.
  • Estoy usando sudo.ps1 de psutils, instalado a través de scoop. Tiene un prompt de UAC, pero sirve para trabajo interactivo.
  • Ojalá que "Windows 12" termine siendo un administrador de ventanas + escritorio que corra sobre Linux. Eso reproduciría cuidadosamente los bugs heredados para mantener compatibilidad con Windows 95/7/8/10/11.
  • Considerando la dirección de los comandos de PowerShell, espero que esta nueva implementación de sudo termine siendo un comando muy complejo.
  • sudo llegó a Windows como una función nueva, pero por ahora parece débil en términos de seguridad. Supongo que irá mejorando con el tiempo.