J'ai atterri ici via Google, et je pense en fait que j'ai trouvé un moyen d'obtenir un root promt pleinement fonctionnel dans cygwin.
Voici mes étapes.
Vous devez d'abord renommer le compte administrateur Windows en "root". Pour ce faire, ouvrez le manuel de démarrage et tapez "gpedit.msc"
Modifiez l'entrée sous Stratégie de l'ordinateur local> Configuration ordinateur> Paramètres Windows> Paramètres de sécurité> Stratégies locales> Options de sécurité> Comptes: Renommer le compte administrateur
Ensuite, vous devrez activer le compte s'il n'est pas encore activé. Stratégie de l'ordinateur local> Configuration ordinateur> Paramètres Windows> Paramètres de sécurité> Stratégies locales> Options de sécurité> Comptes: état du compte administrateur
Déconnectez-vous maintenant et connectez-vous au compte root.
Maintenant, définissez une variable d'environnement pour cygwin. Pour ce faire facilement: Cliquez avec le bouton droit sur Poste de travail> Propriétés
Cliquez (dans la barre latérale gauche) "Paramètres système avancés"
En bas, cliquez sur le bouton "Variables d'environnement"
Sous "Variables système", cliquez sur le bouton "Nouveau ..."
Pour le nom, mettez "cygwin" sans les guillemets. Pour la valeur, entrez dans votre répertoire racine cygwin. (Le mien était C: \ cygwin)
Appuyez sur OK et fermez tout cela pour revenir au bureau.
Ouvrez un terminal Cygwin (cygwin.bat)
Editez le fichier / etc / passwd et changez la ligne
Administrateur : inutilisé: 500: 503 : U- MACHINE \ Administrator , S-1-5-21-12345678-1234567890-1234567890-500 : / home / Administrator : / bin / bash
Pour cela (vos numéros et le nom de la machine seront différents, assurez-vous simplement de changer les numéros en surbrillance en 0!)
root : inutilisé: 0: 0 : U- MACHINE \ root , S-1-5-21-12345678-1234567890-1234567890-0 : / root : / bin / bash
Maintenant que tout cela est terminé, ce bit suivant fera fonctionner la commande "su". (Pas parfaitement, mais cela fonctionnera suffisamment pour être utilisé. Je ne pense pas que les scripts fonctionneront correctement, mais bon, vous êtes arrivé jusqu'ici, peut-être que vous pouvez trouver le chemin. Et partagez s'il vous plaît)
Exécutez cette commande dans cygwin pour finaliser la transaction.
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'
Déconnectez-vous du compte root et revenez à votre compte utilisateur Windows normal.
Après tout cela, exécutez manuellement le nouveau "su.bat" en double-cliquant dessus dans l'explorateur. Entrez votre mot de passe et continuez et fermez la fenêtre.
Maintenant, essayez d'exécuter la commande su depuis cygwin et voyez si tout s'est bien passé.
what
script que vous essayez d'exécuter? Il n'y a pas d'équivalent à 'sudo' dans un shell cygwin - les droits sont ceux de l'utilisateur win qui a lancé le shell cygwin, donc le lien KyleWpppd est bon pour éviter des erreurs telles que "sudo unknown command". Dans votre cas, cela semble être un problème spécifique avec le script que vous souhaitez exécuter.