Siempre trabajo en una cuenta que no sea de administrador en mi computadora con Windows. A veces necesito instalar programas que requieren acceso de administrador. Como uso principalmente el símbolo del sistema de Windows, ¿hay un comando de Windows para escalar privilegios, similar al comando del terminal de Linux sudo
?
windows
command-line
privileges
ukanth
fuente
fuente
doskey sudo= runas /user:Administrator "cmd /k cd \"%cd%\" & $*"
wsudo
, unasudo
herramienta similar para Windows disponible como un paquete de Chocolatey.Respuestas:
El comando runas .
Solo corre:
para iniciar un shell de comandos como administrador
fuente
/noprofile
.Runas
simplemente ejecuta comandos bajo un conjunto diferente de credenciales. Aunque sus credenciales tienen permisos de administrador, no significa que todos los procesos bajo sus credenciales se ejecuten como administrador.Descubrí elevate hoy que "ejecuta un comando con elevación de privilegios UAC. Esto es útil para trabajar dentro de las indicaciones de comando o con archivos por lotes". No es lo mismo
sudo
, ya que cambia el usuario en ejecución a Administrador, pero su sintaxis es mucho más sencilla de usar querunas
, y puede mantener el directorio actual, permitiendo el uso de rutas relativas.El propósito de Elevate no es evitar u omitir UAC (Control de cuentas de usuario), sino trabajar con él. Mientras UAC está habilitado no tiene que ser una especie de rápido en alguna etapa del proceso. Si necesita deshacerse de las indicaciones por completo, debe deshabilitar UAC .
El punto de dolor que eleva el alivio está intensificando un proceso particular desde un shell no privilegiado, y luego continúa de manera normal. Sin esto, debe iniciar un símbolo del sistema con privilegios haciendo clic con el botón derecho> "Ejecutar como administrador" , que no se puede programar fácilmente, antes de intentar el comando con privilegios.
fuente
%wheel ALL=(ALL) NOPASSWD: ALL
en sudo.@elevate %*
=> beneficio!Puede usar el comando runas que es similar, o puede consultar el proyecto sudo para Windows en SourceForge que agrega un comando sudo.
La diferencia es sutil:
Digamos que tienes dos usuarios. Bob es un usuario normal y James es un administrador.
Si inicia sesión como Bob y usa "runas james acommand", el comando se ejecuta como si hubiera sido ejecutado por James, por lo que accede a la configuración de usuario de James y cualquier cambio de usuario vaya a las carpetas James My Documents & settings, etc. están instalando una aplicación, por ejemplo, se instalará como James, no como Bob.
Si, por otro lado, Bob "sudo acommand", el comando aún se ejecuta como Bob, pero con permisos elevados, al igual que el comando sudo de Linux. Para evitar que cualquier usuario pueda sudo, debe definir un grupo de usuarios de sudoers que contenga la lista de usuarios normales que tienen permiso para elevar el uso de sudo. Los usuarios aún tienen que proporcionar credenciales antes de la elevación.
A veces la diferencia no es importante, a veces lo es, y encuentro que ambos comandos pueden ser útiles.
fuente
~/.themes
activado, la aplicación sudo-ed no podrá acceder a ese tema porque no está en él/home/root/.themes
y utilizará el tema gtk feo predeterminado.También puede usar los PowerToys Script Elevation .
fuente
Si está listo para cambiar a consolas alternativas, está ConEmu (soy el autor). Una de sus características: la capacidad de ejecutar pestañas elevadas y no elevadas en la única ventana de ConEmu. Las pestañas también pueden iniciarse con diferentes credenciales.
Para comodidad del usuario, hay un archivo por lotes csudo.cmd (que puede adoptarse fácilmente para bash). Lea la descripción completa en la wiki del proyecto . En resumen, cuando ejecuta algún comando desde una pestaña no elevada existente, por ejemplo
ConEmu se iniciará
dism
en la nueva consola / pestaña elevada (con el aviso UAC anterior en Vista o cuadro de inicio de sesión en XP).Por defecto,
csudo
inicia una nueva consola en una división (puede haber cambios a través de la edición decsudo.cmd
contenidos).Y, por supuesto, puede cambiarle el nombre
sudo.cmd
si le gusta lasudo
palabra "clásica" .fuente
press enter or esc to exit
mensaje.sudo
comando haya hecho su trabajo! Te vas por el camino equivocado.Método rápido:
Tres pasos para agregar sudo.
Abra PowerShell.
Copie el siguiente script (Ctrl + C) y péguelo en PowerShell (Alt + Espacio + E + P):
Permitirá permanentemente el
sudo
comando en PowerShell.Uso:
Ejemplos:
Método largo para aprender:
Nota: mezclé el guión de ambos artículos para crear el guión mencionado anteriormente. En lugar de pegar manualmente el script en el bloc de notas, agregué las
Out-File
declaraciones para guardarps1
y los$profile
archivos del script.Consejo: Si no eres un gran fanático de las ventanas emergentes UAC (como yo), guarda lo siguiente en el archivo * .reg y ejecútalo:
fuente
. : File C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system.
set-executionpolicy remotesigned
. Otras opciones ademásremotesigned
se describen en documentos oficiales .powershell -c start -verb runas program.exe
funcionalidad. También tenga en cuenta que no puede elevar de esta manera con el indicador cmd (de forma nativa). Powershell es la mejor opción nativa.Si está haciendo esto en Windows, además del comando Ejecutar como, como se menciona en otras respuestas, también hay formas de hacerlo con el mouse.
Si mantiene presionada la Shifttecla mientras hace clic derecho en la mayoría de los archivos ejecutables en Windows, debería notar algunas opciones más avanzadas. Una de ellas es la "
Run As...
" opción (creo que se llama "Run As Administrator
" desde Vista en adelante).También puede descargar una versión más avanzada de RunAs de Microsoft, llamada ShellRunAs , esto tiene mejoras sobre el comando RunAs incorporado, tanto en la línea de comandos como en los modos gráficos, lo que incluye permitirle guardar las credenciales de la cuenta
fuente
Hay un paquete de chocolate con el conveniente nombre de sudo . Puede instalar el paquete con chocolate con este comando:
Luego, en cualquier shell de Windows / MS que tenga que usar, puede usarlo
sudo
como se esperaba.fuente
Surun es una aplicación gratuita de código abierto que permite que ciertos programas se ejecuten con derechos administrativos, sin proporcionar una contraseña sin cambiar el registro de usuarios o modificar las variables de entorno.
Cuando estaba usando Windows XP, esta aplicación me ayuda mucho. Beta funciona bajo Windows 7.
fuente
Como probablemente haya descubierto, las runas le permitirán correr como otro usuario, pero no puede realizar la elevación y no pasa los directorios actuales, las variables de entorno o las largas líneas de comando.
Hamilton C shell resuelve eso con un genuino su y sudo. su le permite ejecutar un comando como otro usuario; sudo (en realidad un alias para su) le permite ejecutar un comando elevado. También puede hacer ambas cosas, ejecutando elevado como un usuario diferente. Los directorios actuales, las variables de entorno y las líneas de comando largas se pasan por medio de un apretón de manos de memoria compartida entre su ejecución en el contexto de la persona que llama y una copia de sí mismo que se ejecuta como un interludio con las nuevas credenciales que luego inicia el hijo. Divulgación completa: soy el autor.
fuente
Un
sudo
reemplazo funcional para elmintty
terminal de Cygwin sería colocar el siguiente script en la RUTA del usuario:Para mí, este es el único reemplazo viable para elevar los privilegios de programas como
vim
ocygrunsrv
mientras se trabaja en una terminal en Windows.fuente
Este script hace el trabajo:
Guárdelo como y
sudo.cmd
luego agréguelo a su RUTANota: los
runas
medios en este contexto "Ejecutar como administrador" y no "Ejecutar como otro usuario"Tomado de aquí y ligeramente editado para eliminar el encabezado cscript.exe de la salida
fuente
La solución más simple en mi opinión es aprovechar powershell para hacer el trabajo, que es portátil y le indicará al usuario que use el UAC.
Puede ejecutar esto en cualquier shell (cmd o powershell)
fuente
El siguiente script vbs me sirve. Me lo puse
C:\Windows\System32
Ejemplo de uso en un símbolo del sistema
sudo net start service
fuente