Come funziona il simbolo della chiave sudo?

7

Sto provando a scrivere uno script che richiede la password dell'utente per alcuni comandi relativi a sudo . Il mio obiettivo è emulare il metodo predefinito che OS X utilizza per ottenere la password dell'utente, Password: seguito da un simbolo simile a una chiave, come mostrato nello screenshot allegato di seguito:

Hoprovatolarispostada Come ottenere una password da uno script di shell senza echoing su Stack Overflow che utilizza read -s , ma che risulta in Password: senza il simbolo chiave quando viene eseguito da uno script , ma visualizza il simbolo quando viene eseguito dal Terminale stesso. Cos'è questo simbolo chiave e posso trovarlo nel menu Caratteri?

    
posta perhapsmaybeharry 09.05.2016 - 10:28
fonte

3 risposte

7

Ricevo il simbolo della chiave quando eseguo read -s in Terminale.

Poiché sembra funzionare allo stesso modo per read -s come per sudo , presumo che questa sia una funzionalità di Terminal (per visualizzare un simbolo di chiave ogni volta che viene richiesto l'input in modalità silenziosa / nascosta).

    
risposta data 09.05.2016 - 10:54
fonte
2

La risposta più semplice è scrivere lo script senza sudo

quindi dì all'utente di eseguirlo con sudo, ad es. sudo script

lo script verrà eseguito con i privilegi di root

'questo ha il vantaggio che l'utente sa cosa chiede e dove viene usata la password, se nel tuo script potresti prendere una copia o lasciarla in memoria

    
risposta data 09.05.2016 - 10:41
fonte
0

Penso che abbia qualcosa a che fare con l'opzione dell'eco del terminale disabilitata. Ho provato a eseguire stty -echo; cat; stty echo nel mio terminale e poi a digitare qualcosa, e il simbolo della chiave ha mostrato. Ho quindi premuto Ctrl + D ed è andato via.

    
risposta data 18.05.2016 - 18:34
fonte

Leggi altre domande sui tag