Come posso terminare il comando sudo in esecuzione che si riapre sempre?

1

Quando apro una nuova finestra nel terminale ottengo questo:!

StavocercandodiinstallareMacPortscircaunannofaenonèandatabene.

Datochenonusoilterminalemoltospessol'holasciatoinquelmodo.

Oramipiacerebbefarlofunzionaredinuovo!

Hoprovatoaeliminareilfilecom.apple.terminal.plistesonobloccato.

Quandoinseriscolamiapassword,lashellpassadasudoateeetuttociòcheinseriscoèappenaripetuto!

Quando non inserisco la mia password ottengo una shell utilizzabile. Cosa posso fare per impedire la riapertura del comando sudo?

    
posta Leon 07.09.2013 - 19:37
fonte

2 risposte

1

Prima di tutto, ci sono un certo numero di comandi che puoi provare ad uscire da qualunque strano stato di shell in cui ti trovi. Ctrl + C, Ctrl + Z e Ctrl + \ può uscire dal comando sudo e Ctrl + D uscirebbe dal 'tee'. Supponendo che il comando non sia in esecuzione come shell di controllo (che probabilmente non lo è, a giudicare da come non inserire la password ti dà una shell), uno di quelli probabilmente ti riporterà alla tua shell reale (ad es. Bash). Quindi dovresti guardare i seguenti file per vedere cosa ti sta mettendo in quello stato:

/etc/profile
.bashrc
.login
.bash_profile
.profile

Puoi anche modificare quei file da qualsiasi editor di testo OSX (piuttosto che dover entrare in una shell per farlo), anche se è un po 'complicato - dalla finestra di dialogo "file aperto" premi Cmd + Shift + G e poi digita il percorso completo (es. / etc / profile o /Users/username/.bashrc).

È anche possibile che la shell di login stessa sia stata modificata in qualche modo. In tal caso, devi andare su Utenti & Raggruppa le preferenze di sistema, quindi ctrl-clic sul tuo nome utente, quindi seleziona "Opzioni avanzate". Assicurati che il menu a discesa "shell di accesso" legga /bin/bash .

    
risposta data 08.09.2013 - 20:45
fonte
2

Quello che hai è un brutto set di file di avvio della shell, quindi la prima cosa da fare è riprendere il controllo del tuo Mac.

  1. Non eseguire il logout o il riavvio (nel caso in cui il danno impedisca un nuovo accesso - improbabile, ma perché rischiare - soprattutto se non si dispone di un buon backup)
  2. Apri le Preferenze di Sistema
  3. Crea un nuovo account di amministrazione e attiva la modalità di cambio rapido utente
  4. Salva qualsiasi lavoro in altre app che non puoi permetterti di perdere
  5. Utilizza la barra dei menu per accedere come nuovo account amministratore

A quel punto, saprai se il nuovo utente ha accesso completo alla shell o se hai in qualche modo incasinato i file che hanno configurato tutti i processi della shell utente.

Puoi rimuovere MacPorts dal nuovo utente e assicurarti di avere un buon backup prima di entrare per cancellare i file che stanno danneggiando il processo di login della shell dell'utente corrente. Poiché l'installazione della porta non funziona, prova a eseguire la disinstallazione della porta, ma continua con il comando manuale rm per rimuovere effettivamente gli elementi in / opt e altrove che sono stati installati.

link

A quel punto, puoi anche provare a ripulire i file altrove - qui ci sono i file che MacPorts avrebbe dovuto cambiare su di te, quindi potresti doverli eliminare tutti e / o recuperarli da un'installazione pulita o da un backup di prima quando MacPort li ha toccati:

Depending on your shell and which configuration files already exist, the installer may use .profile, .bash_login, .bash_profile, .tcshrc, or .cshrc.

La pulizia per te potrebbe anche implicare:

cd /Users
sudo -s
cd broken
tar -cvf ./bash_broken.tar .bash*
rm -i .bash*

Questo renderà un file tar di backup di tutti i file di avvio di bash danneggiati (.bash_history, .bahsrc, ecc ...) Attenzione con sudo - se si esegue il file sbagliato, non c'è il cestino o l'annullamento. Il flag -i ti chiederà se vuoi cancellare ogni file. Vuoi rimuovere praticamente tutti, ad eccezione forse del file di cronologia (in questo modo puoi guardare indietro a ciò che hai fatto in passato, se necessario).

Dopo aver rimosso i file, disconnettiti dal nuovo utente e torna al vecchio utente e verifica se i problemi del terminale sono stati risolti.

    
risposta data 07.09.2013 - 20:27
fonte

Leggi altre domande sui tag