Llegué aquí a través de google, y realmente creo que he encontrado una manera de obtener un aviso raíz completamente funcional en cygwin.
Aquí están mis pasos.
Primero debe cambiar el nombre de la cuenta de administrador de Windows a "root". Haga esto abriendo start manu y escribiendo "gpedit.msc"
Edite la entrada en Política de computadora local> Configuración de computadora> Configuración de Windows> Configuración de seguridad> Políticas locales> Opciones de seguridad> Cuentas: Cambiar nombre de cuenta de administrador
Entonces tendrá que habilitar la cuenta si aún no está habilitada. Política del equipo local> Configuración del equipo> Configuración de Windows> Configuración de seguridad> Políticas locales> Opciones de seguridad> Cuentas: estado de la cuenta de administrador
Ahora cierre sesión e inicie sesión en la cuenta raíz.
Ahora configure una variable de entorno para cygwin. Para hacerlo de manera fácil: haga clic derecho en Mi PC> Propiedades
Haga clic en (en la barra lateral izquierda) "Configuración avanzada del sistema"
Cerca de la parte inferior, haga clic en el botón "Variables del entorno"
En "Variables del sistema", haga clic en el botón "Nuevo ..."
Para el nombre pon "cygwin" sin las comillas. Para el valor, ingrese en su directorio raíz cygwin. (El mío era C: \ cygwin)
Presione OK y cierre todo eso para volver al escritorio.
Abra una terminal Cygwin (cygwin.bat)
Edite el archivo / etc / passwd y cambie la línea.
Administrador : sin usar: 500: 503 : U- MACHINE \ Administrator , S-1-5-21-12345678-1234567890-1234567890- 500: / home / Administrador : / bin / bash
Para esto (sus números y el nombre de la máquina serán diferentes, ¡solo asegúrese de cambiar los números resaltados a 0!)
root : no utilizado: 0: 0 : U- MACHINE \ root , S-1-5-21-12345678-1234567890-1234567890- 0: / root : / bin / bash
Ahora que todo está terminado, este siguiente bit hará que el comando "su" funcione. (No perfectamente, pero funcionará lo suficiente como para usar. No creo que los scripts funcionen correctamente, pero bueno, has llegado hasta aquí, tal vez puedas encontrar el camino. Y por favor comparte)
Ejecute este comando en cygwin para finalizar el trato.
mv /bin/su.exe /bin/_su.exe_backup
cat > /bin/su.bat << "EOF"
@ECHO OFF
RUNAS /savecred /user:root %cygwin%\cygwin.bat
EOF
ln -s /bin/su.bat /bin/su
echo ''
echo 'All finished'
Salga de la cuenta raíz y vuelva a su cuenta de usuario normal de Windows.
Después de todo eso, ejecute el nuevo "su.bat" manualmente haciendo doble clic en el explorador. Ingrese su contraseña y continúe y cierre la ventana.
Ahora intente ejecutar el comando su desde cygwin y vea si todo salió bien.
what
script que estás intentando ejecutar? No hay equivalente a 'sudo' dentro de un shell cygwin: los derechos son los del usuario win que lanzó el shell cygwin, por lo que el enlace KyleWpppd es bueno para evitar errores como "comando desconocido de sudo". En su caso, parece que es un problema específico con el script que desea ejecutar.