Sono atterrato qui tramite Google e in realtà credo di aver trovato un modo per ottenere un promemoria root pienamente funzionante in cygwin.
Ecco i miei passi.
In primo luogo è necessario rinominare l'account Administrator di Windows a "root" farlo aprendo manu inizio e digitare "gpedit.msc"
Modifica la voce sotto Criteri Computer locale> Configurazione computer> Impostazioni di Windows> Impostazioni di sicurezza> Criteri locali> Opzioni di sicurezza> Account: Rinomina account amministratore
Quindi dovrai abilitare l'account se non è ancora abilitato. Criteri del computer locale> Configurazione computer> Impostazioni di Windows> Impostazioni sicurezza> Criteri locali> Opzioni di sicurezza> Account: stato account amministratore
Ora uscire e accedere all'account root.
Ora impostare una variabile di ambiente per cygwin. Per farlo nel modo più semplice: destro su Risorse del computer> Proprietà
clic (sulla barra laterale a sinistra) "Impostazioni di sistema avanzate"
Nella parte inferiore cliccare "Variabili Enviroment" pulsante
In " Variabili di sistema "fare clic sul pulsante" Nuovo ... "
Per il nome inserire" cygwin "senza virgolette. Per il valore, immettere nella directory root cygwin. (Il mio era C: \ cygwin)
Premere OK e chiudere tutto per tornare al desktop.
Aprire un terminale Cygwin (cygwin.bat)
Modificare il file/etc/passwd e cambiare la linea
amministratore: inutilizzato: 500: 503: U- MACCHINA \ Amministratore, S-1-5-21-12345678-1234567890-1234567890- 500:/home/Amministratore:/bin/bash
A questo (i numeri e il nome della macchina saranno diversi, assicurati di cambiare i numeri evidenziati a 0!)
radice: inutilizzato: 0: 0: U MACHINE \ radice, S-1-5-21-12345678-1234567890-1234567890- 0:/root:/bin/bash
Ora che tutto è finito, questo prossimo bit farà funzionare il comando "su". (Non perfettamente, ma funzionerà abbastanza da usare. Non penso che gli script funzionino correttamente, ma hey, sei arrivato così lontano, forse puoi trovare la strada e per favore condividi)
Esegui questo comando in cygwin per finalizzare l'accordo.
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'
Disconnettersi dall'account root e tornare al normale account utente di Windows.
Dopo tutto ciò, eseguire manualmente il nuovo "su.bat" facendo doppio clic su di esso in Esplora risorse. Inserisci la tua password e vai avanti e chiudi la finestra.
Ora prova a eseguire il comando su da cygwin e vedere se tutto ha funzionato bene.
ciao KenB, potrebbe darci maggiori dettagli su 'script che' si sta tentando di correre? Non esiste un equivalente di "sudo" all'interno di una shell cygwin - i diritti sono quelli del win user che ha lanciato la shell cygwin, quindi il link di KyleWpppd è buono per evitare errori come "sudo unknown command". Nel tuo caso sembra che si tratti di un problema specifico con lo script che vuoi eseguire. – Stefano
Onestamente, questo è un problema molto tempo fa, e in realtà non ricordo quale fosse la sceneggiatura. Grazie per l'interesse, però. –
Domande correlate qui: http://superuser.com/questions/122418/theres-no-sudo-command-in-cygwin e qui: http://stackoverflow.com/questions/22527668/sudo-command-not-found -on-cygwin – Benj