Je suis arrivé ici via google, et je crois effectivement avoir trouvé un moyen d'obtenir un invite de commande root entièrement fonctionnel dans cygwin.
Voici mes étapes.
Tout d'abord, vous devez renommer le compte administrateur de Windows en "root" Faites ceci en ouvrant le menu Démarrer et en tapant "gpedit.msc"
Modifiez l'entrée sous Stratégie de l'ordinateur local > Configuration de l'ordinateur > Paramètres Windows > Paramètres de sécurité > Options de sécurité > Comptes : Renommer le compte administrateur
Ensuite, vous devrez activer le compte s'il n'est pas déjà activé. Stratégie de l'ordinateur local > Configuration de l'ordinateur > Paramètres Windows > Paramètres de sécurité > Options de sécurité > Comptes : État du compte administrateur
Déconnectez-vous maintenant et connectez-vous au compte root.
Ensuite, définissez une variable d'environnement pour cygwin. Pour ce faire de manière simple : Cliquez avec le bouton droit sur Poste de travail > Propriétés
Cliquez (dans la barre latérale gauche) sur "Paramètres système avancés"
Près du 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 le répertoire racine de votre cygwin. (Le mien était C:\cygwin)
Cliquez sur OK et fermez tout cela pour revenir au bureau.
Ouvrez un terminal Cygwin (cygwin.bat)
Modifiez le fichier /etc/passwd et changez la ligne
Administrator:unused:500:503:U-MACHINE\Administrator,S-1-5-21-12345678-1234567890-1234567890-500:/home/Administrator:/bin/bash
Par ceci (vos numéros et le nom de votre machine seront différents, assurez-vous simplement de changer les chiffres en surbrillance en 0 !)
root:unused:0:0:U-MACHINE\root,S-1-5-21-12345678-1234567890-1234567890-0:/root:/bin/bash
Maintenant que tout est terminé, cette prochaine étape fera fonctionner la commande "su". (Pas parfaitement, mais suffisamment pour être utilisée. Je ne pense pas que les scripts fonctionneront correctement, mais bon, vous êtes arrivé jusque-là, peut-être que vous trouverez le moyen. Et s'il vous plaît partagez)
Exécutez cette commande dans cygwin pour finaliser l'accord.
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 'Tout est terminé'
Déconnectez-vous du compte root et reconnectez-vous à 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 fermez la fenêtre.
Essayez maintenant d'exécuter la commande su depuis cygwin et voyez si tout s'est bien passé.
0 votes
Bonjour KenB, pourriez-vous nous donner plus de détails sur le script
what
que vous essayez d'exécuter? Il n'y a pas d'équivalent à 'sudo' à l'intérieur d'un shell cygwin - les droits sont ceux de l'utilisateur Windows qui a lancé le shell cygwin, donc le lien de KyleWpppd est bon pour éviter les erreurs telles que "commande inconnue sudo". Dans votre cas, il semble que ce soit un problème spécifique avec le script que vous voulez exécuter.1 votes
Honnêtement, c'est un problème depuis longtemps, et je ne me rappelle pas vraiment quel était le script. Merci de l'intérêt, cependant.
0 votes
Question connexe ici : superuser.com/questions/122418/theres-no-sudo-command-in-cygwin et ici : stackoverflow.com/questions/22527668/…