Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Prerrequisitos
El comando Sudo para Windows está disponible en Windows 11, versión 24H2 o posterior. (Buscar actualizaciones de Windows).
Nota:
Sudo para Windows aún no está disponible para Windows 10, pero es posible que lo esté en el futuro.
Cómo habilitar Sudo para Windows
Para habilitar Sudo para Windows, abra Settings > System > 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.
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): laforceNewWindowopción de configuración es la opción de configuración predeterminada para Sudo para Windows. Utilícelosudoen esta configuración para ejecutar el comando en una nueva ventana. Esto es similar al comportamiento delrunas /user:admincomando.La opción de configuración Entrada cerrada (
disableInput): ladisableInputejecutará 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 lainlineopción de configuración a la vez que mitiga algunos de los riesgos de seguridad asociados.En línea (
normal): lanormalopció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.
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.
Escenarios comunes para desarrolladores
Estos son algunos escenarios comunes en los que los desarrolladores pueden usar sudo:
-
Edición de archivos del sistema:
sudo notepad C:\Windows\System32\drivers\etc\hosts -
Instalación de paquetes de manera global:
sudo npm install -g package-name -
Ejecución de herramientas administrativas:
sudo diskpart
Nota:
Para el trabajo de desarrollo que implique directorios del sistema como C:\Windows\, considere la posibilidad de usar entornos de desarrollo o enfoques alternativos siempre que sea posible. Sudo debe usarse con criterio y solo cuando los permisos elevados son realmente necesarios.
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 de seguridad
Existen riesgos asociados a la ejecución de sudo en las configuraciones De entrada cerrada (disableInput) 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 disableInput 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 sin privilegios elevados puede enviar entrada a un proceso con privilegios elevados dentro de la misma ventana de consola o obtener información de la salida en la ventana actual 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:
runaspermite ejecutar programas como otros usuarios, incluidos, entre otros, como administrador. Esta funcionalidad está en el plan de desarrollo del comando sudo, pero aún no existe.sudopermite 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
disableInputynormal. Esto no es compatible conrunas.
- Puede optar por hacerlo en una nueva ventana, que se parece al flujo de administrador
runaspuede solicitar a los usuarios una contraseña en la línea de comandos.sudosolo 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 disableInput 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 Gerardo Grignoli, que tiene una serie de características y opciones de configuración adicionales o echa un vistazo a otras soluciones de la comunidad.