Una delle grandi cose di Linux è che puoi fare la stessa cosa in centinaia di modi diversi - anche qualcosa di semplice come generare una password casuale può essere realizzato con dozzine di comandi diversi. Ecco 10 modi per farlo.
Abbiamo raccolto tutti questi comandi da Command-Line Fu e testarli sul nostro PC Linux per assicurarci che funzionino. Dovresti essere in grado di utilizzare almeno alcuni di questi su Windows con Cygwin installato, anche se non li abbiamo testati tutti, l'ultimo funziona sicuramente.
Genera una password casuale
Per ognuno di questi comandi di password casuali, puoi modificarli per produrre una lunghezza della password diversa oppure puoi semplicemente utilizzare i primi x caratteri della password generata se non desideri una password così lunga. Si spera che tu stia utilizzando un gestore di password come LastPass comunque così non è necessario memorizzarli.
Questo metodo utilizza SHA per eseguire l'hashing della data, viene eseguito attraverso base64 e quindi restituisce i primi 32 caratteri.
data +% s | sha256sum | base64 | testa -c 32; eco
Questo metodo utilizza la funzione / dev / urandom incorporata e filtra solo i caratteri che normalmente useresti in una password. Quindi emette i primi 32.
</ dev / urandom tr -dc _A-Z-a-z-0-9 | head -c $ {1:-32}; echo;
Questo utilizza la funzione rand di openssl, che potrebbe non essere installata sul tuo sistema. Meno male che ci sono molti altri esempi, giusto?
openssl rand -base64 32
Questo funziona molto come l'altro urandom, ma fa solo il lavoro al contrario. Bash è molto potente!
tr -cd '[:alnum:]' </ dev / urandom | piega -w30 | head -n1
Ecco un altro esempio che filtra utilizzando il comando strings, che restituisce stringhe stampabili da un file, che in questo caso è la funzione urandom.
stringhe / dev / urandom | grep -o '[[:alnum:]]' | testa -n 30 | tr -d '\ n'; eco
Ecco una versione ancora più semplice di quella urandom.
</ dev / urandom tr -dc _A-Z-a-z-0-9 | testa -c6
Questo riesce a usare l'utilissimo comando dd.
dd if = / dev / urandom bs = 1 count = 32 2> / dev / null | base64 -w 0 | rev | tagliare -b 2- | rev
Puoi persino creare una password sinistra casuale, che ti consentirebbe di digitare la tua password con una mano.
</ dev / urandom tr -dc '12345! @ # $% qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; eco ""
Se lo utilizzerai sempre, probabilmente è un'idea migliore metterlo in una funzione. In questo caso, una volta eseguito il comando una volta, sarai in grado di utilizzare randpw ogni volta che desideri generare una password casuale. Probabilmente vorresti metterlo nel tuo file ~ / .bashrc.
randpw () { < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16}; echo;}
È possibile utilizzare la stessa sintassi per trasformare uno qualsiasi di questi in una funzione: è sufficiente sostituire tutto ciò che si trova all'interno di { }
Ed ecco il modo più semplice per creare una password dalla riga di comando, che funziona su Linux, Windows con Cygwin e probabilmente Mac OS X. Sono sicuro che alcune persone si lamenteranno del fatto che non è casuale come alcune delle altre opzioni, ma onestamente, è abbastanza casuale se utilizzerai l'intera cosa.
data | md5sum
Sì, è abbastanza facile da ricordare.
Esistono molti altri modi per creare una password casuale dalla riga di comando in Linux, ad esempio il comando mkpasswd, che può effettivamente assegnare la password a un account utente Linux. Allora qual è il tuo modo preferito?