Sudo para Windows ¿?

13.02.2024

Microsoft, quien te ha visto y quien te ve

Después de varios días de rumores, Microsoft ha anunciado que el comando sudo ha llegado oficialmente a Windows 11. Esta incorporación le dará al sistema operativo cierto sabor linuxero, pero posiblemente no en la dirección que algunos están imaginando.

Sobre el funcionamiento de sudo en Windows 11, este resulta muy similar a Linux, si es que no se puede decir que es en esencia lo mismo. Básicamente se trata de una herramienta que permite a un usuario elevar momentáneamente sus privilegios para realizar tareas que solo pueden ser ejecutadas por root o ejecutar cualquier tarea soportada como root, que en el caso de Windows correspondería al usuario Administrador o a uno que tenga ese rango.

Microsoft explica a través del correspondiente repositorio de GitHub que su sudo "está disponible para las compilaciones 26045 y posteriores de Windows 11 (Preview Build 26052 de los canales Canary y Dev). Si está en una compilación de Insiders con sudo, puede habilitarlo en la aplicación Configuración de Windows, dentro de la página 'Características del desarrollador".

En este artículo

  1. Requisitos previos

  2. Cómo habilitar Sudo para Windows

  3. Cómo configurar Sudo para Windows

  4. Cómo utilizar Sudo para Windows

Sudo para Windows es una nueva forma de que los usuarios ejecuten comandos elevados (como administrador) directamente desde una sesión de consola no elevada en Windows.

Lea el anuncio, que incluye un video de demostración y profundizar en cómo funciona Sudo para Windows.

1.- Requisitos previos

Debe ejecutar Windows 11 Insider Preview Build 26052 o superior para utilizar el comando Sudo para Windows. (Buscar actualizaciones de Windows). Únase al programa Windows Insider.

Nota

Sudo para Windows aún no está disponible para Windows 10, pero es posible que lo esté en el futuro.

2.- Cómo habilitar Sudo para Windows

Para habilitar Sudo para Windows, abra Settings > For Developers y establezca Habilitar sudo como Activado.

Advertencia

Sudo para Windows puede ser utilizado como un vector potencial de escalada de privilegios cuando está habilitado en ciertas configuraciones. Debe asegurarse de tener en cuenta las consideraciones de seguridad al habilitar el comando sudo en el equipo.

3.- Cómo configurar Sudo para Windows

Sudo para Windows admite actualmente tres opciones de configuración diferentes. La configuración se puede establecer desde el Settings > For Developers menú o mediante programación mediante la línea de comandos. Las opciones de configuración incluyen:

  • En una nueva ventana (forceNewWindow): la forceNewWindow opción de configuración es la opción de configuración predeterminada para Sudo para Windows. Utilícelo sudo en esta configuración para ejecutar el comando en una nueva ventana. Esto es similar al comportamiento del runas /user:admin comando.

  • La opción de configuración Entrada cerrada (disableInput): la disableInput ejecutará el proceso con privilegios elevados en la ventana actual, pero con el identificador de entrada cerrado. Esto significa que el proceso elevado no podrá recibir entradas de la ventana de consola actual. Esto es útil para situaciones en las que desea ejecutar un comando como administrador, pero no desea permitir que el comando reciba entradas desde la ventana de la consola actual. Esta opción de configuración proporciona parte de la comodidad de la inline opción de configuración a la vez que mitiga algunos de los riesgos de seguridad asociados.

  • En línea (normal): la normal opción de configuración es más similar a cómo se comporta sudo en otros sistemas operativos. Esta configuración ejecutará el proceso con privilegios elevados en la ventana actual y el proceso podrá recibir la entrada de la sesión de consola actual. Esto es útil para situaciones en las que desea ejecutar un comando como administrador y desea permitir que el comando reciba entradas desde la ventana de la consola actual. Esta opción de configuración proporciona la mayor comodidad, pero solo debe elegir esta opción si está familiarizado con los riesgos de seguridad asociados.

Puede seleccionar entre estas configuraciones en el Settings > For Developers menú o cambiar la configuración mediante programación, en una línea de comandos con privilegios elevados (consola de administración), mediante:

  • sudo config --enable <configuration_option>

Actualice <configuration_option> a forceNewWindow, disableInputo normal.

4.- Cómo utilizar Sudo para Windows

Para usar Sudo para Windows, basta con anteponer sudo al comando que desea ejecutar como administrador. Por ejemplo, para ejecutar netstat -ab como administrador, ejecutaría sudo netstat -ab en la ventana de la consola.

Dado que sudo eleva el proceso de destino para que se ejecute con el permiso de nivel de administrador, se abrirá un mensaje que le pedirá que compruebe que desea continuar.

Consideraciones sobre la seguridad

Existen riesgos asociados a la ejecución de sudo en las configuraciones De entrada cerrada (inputClosed) o Inline (normal). Es posible que procesos maliciosos intenten manejar el proceso elevado utilizando la conexión establecida por el proceso sudo.exe no elevado y el proceso sudo.exe elevado.

La opción de configuración inputClosed mitiga el riesgo cerrando el identificador de entrada. Desconectar el controlador de entrada de la ventana de consola actual significa que los procesos no elevados no pueden enviar entradas al proceso elevado.

La opción de configuración inline ejecuta el proceso con privilegios elevados en la ventana actual y el proceso puede recibir la entrada de la sesión de consola actual. Un proceso no elevado puede enviar entrada al proceso elevado dentro de las mismas ventanas de la consola u obtener información de la salida en las ventanas actuales en esta configuración.

Preguntas más frecuentes

¿Cómo es Sudo para Windows diferente del comando existente runas ?

El comando sudo ofrece una manera de elevar rápidamente un comando como administrador desde el contexto actual de la línea de comandos sin elevar y es familiar para algunos usuarios procedentes de otros sistemas operativos. El comando runas ofrece una manera de ejecutar programas como cualquier usuario, incluido el administrador si lo desea. En este momento, el comando sudo en Windows no admite la ejecución de programas como otros usuarios. Otras diferencias clave entre sudo y runas incluyen:

  • runas permite ejecutar programas como otros usuarios, incluidos, entre otros, como administrador. Esta funcionalidad está en la hoja de ruta del comando sudo, pero aún no existe.

  • sudo permite elevar rápidamente un proceso (como administrador):

    • Puede optar por hacerlo en una nueva ventana, que se parece al flujo de administrador runas.

    • Puede optar por conectar el proceso con privilegios elevados a la ventana de consola actual con las opciones de configuración disableInput y normal . Esto no es compatible con runas.

  • runas puede solicitar a los usuarios una contraseña en la línea de comandos.

  • sudo solo se puede elevar a través de la característica de seguridad Control de cuentas de usuario (UAC) diseñada para proteger el sistema operativo frente a cambios no autorizados mediante la solicitud de comprobación.

Debe tener en cuenta su caso de uso particular y planificar el uso del comando que mejor se adapte a sus necesidades. También debe tener en cuenta las implicaciones de seguridad de ejecutar sudo en los modos inputClosed y normal . Se recomienda la opción de configuración predeterminada forceNewWindow a menos que esté familiarizado y cómodo con los riesgos asociados a las otras configuraciones sudo.

Repositorio de código abierto de Sudo para Windows

Sudo para Windows es de código abierto y agradece tus contribuciones y comentarios. Puede encontrar el código fuente de Sudo para Windows en GitHub.

Funcionalidad adicional

Si busca funciones adicionales que Sudo para Windows no ofrece, consulte gsudo de Andrés Grignoli, que tiene una serie de características y opciones de configuración adicionales o echa un vistazo a otras soluciones de la comunidad.