Page 1 of 1
Zufallspasswort in bash generieren
Posted: 2005-04-01 12:34
by andreask2
Hallo!
Weiß jemand wie ich möglichst simple und möglichst ohne ein zusätzliches Programm per bash eine zufällige Zeichenfolge generieren lassen kann, sagen wir mal 8 Zeichen oder 10 Zeichen?
Grüße
Andreas
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 12:48
by captaincrunch
Nach kurzer Suche in Google: ;)
http://www.osix.net/modules/article/?id=570
Ansonsten kannst du mal ein wenig mit der (in der Bash vorhandenen) Variable
RANDOM rumspielen.
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 12:50
by andreask2
Also als Idee hatte ich das:
Code: Select all
date | md5sum | awk '{print substr($1, 0, 10)}'
Aber sich alleine auf das Datum zu verlassen macht das ganze natürlich nicht so besonders sicher.
Was könnte man denn mal schönes einlesen, das deutlich zufälliger ist und vor allem schwerer zu erraten/rekonstruieren als das Datum?
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 12:52
by andreask2
Ah, das sieht doch mal gut aus ;-)
Danke Dir! Hab zwar auch bei google gesucht, aber anscheinend mit anderen Suchbegriffen ;-)
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 13:58
by tcs
pwgen
ist ein kleines Programm das zufällige Passwörter ausspuckt.
Cheers
tcs
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 15:31
by thorsten
Ich habe das so ähnlich wie andreas2k laufen.
Der Output von ps ist mir allerdings lieber als der von date und 12 Stellen müssen es für root Passwörter schon sein, wobei hier die Schwäche in der reinen Kleinschreibung liegt.
Normale User bekommen von mir initial 8 stellige PWs vorgesetzt.
Willst du die PWs allerdings Usern ausdrucken und in die Hand drücken, würde ich dir empfehlen zumindest folgende Zeichen zu meiden: 1I0O
Ansonsten hast du x-Anfrufe ;)
Code: Select all
ps aux | md5sum | tr -d '1' | tr -d '0' | awk '{print substr($1, 0, 8)}'
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 16:23
by suntzu
Code: Select all
[root@hsw][16:20][0.04]
(~)# apt-get install pwgen && pwgen -cns 12 1
s#[<cH^.,yr!
[root@hsw][16:20][0.04]
(~)# pwgen -cn 12 1
jaefechie6Bo
[root@hsw][16:21][0.03]
(~)# pwgen --help
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
Options supported by pwgen:
-c or -capitalize
Include at least one capital letter in the password
-n or --numerals
Include at least one number in the password
-s or --secure
Generate completely random passwords
-h or --help
Print a help message
--no-numerals, --no-capitalize
Don't include a number or capital letter in the password
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
Also sicherer als mit pwgen kriegst du es nicht ;-)
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 16:27
by andreask2
sicherer nicht, aber eine neue Abhängigkeit von einem zu installierenden Programm!
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 16:58
by tcs
andreask2 wrote:sicherer nicht, aber eine neue Abhängigkeit von einem zu installierenden Programm!
Wieso... es reicht doch wenn pwgen auf dem Rechner des Administrators installiert ist, auf Produktiv- und Testsystem braucht man das Zeug nun wirklich nicht.
Cheers
tcs
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 17:04
by captaincrunch
es reicht doch wenn pwgen auf dem Rechner des Administrators installiert ist
Auch der Rechner des Admins sollte einen nicht unerheblichen teil des Sicherheitskonzepts ausmachen. ;) Je weniger Software auch dort, desto geringer die Gefahr möglicher Fehlerquellen.
Re: Zufallspasswort in bash generieren
Posted: 2005-04-01 17:38
by tcs
Dann sollte man aber auch woody am Desktop verwenden
Cheers
tcs
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 01:43
by mr_neutron
Wie wärs damit, wenn das Datum nicht "zufällig genug" ist:
Code: Select all
#!/bin/bash
for i in 1 2 3
do
cat /dev/urandom | tr -d -c a-z0-9- | dd bs=1 count=8 2> /dev/null
echo
done
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 10:33
by andreask2
Interessant! "tr" löscht alle Zeichen außer [a-z0-9-] ?
Ich muss gestehen dass ich das was in der man-page steht nicht so 100%ig verstehe ;-)
Sorgt -c einfach nur dafür dass die Löschung umgedreht wird, also nicht einfach wie bei -d alleine alle diese Zeichen löschen, sondern alle anderen _außer_ diesen Zeichen löschen?
Von wegen Datum, da habe ich
verwendet. Aber /dev/urandom ist da natürlich erheblich besser, auch als $RANDOM, weil das ja nur recht kurze Zahlen generiert.
Danke jedenfalls für den Tipp!
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 13:12
by mr_neutron
andreask2 wrote:Sorgt -c einfach nur dafür dass die Löschung umgedreht wird, also nicht einfach wie bei -d alleine alle diese Zeichen löschen, sondern alle anderen _außer_ diesen Zeichen löschen?
So ist es.
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 13:21
by andreask2
Danke Dir!
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 14:06
by thorsten
mr_neutron wrote:Wie wärs damit, wenn das Datum nicht "zufällig genug" ist:
Code: Select all
#!/bin/bash
for i in 1 2 3
do
cat /dev/urandom | tr -d -c a-z0-9- | dd bs=1 count=8 2> /dev/null
echo
done
Ist das gewünscht, dass du auch ein oder mehrere Minuszeichen im PW hast? Wenn nein, muß das letzte '-' gelöscht werden.
Re: Zufallspasswort in bash generieren
Posted: 2005-04-05 14:16
by andreask2
was haltet Ihr von
an Stelle von
?
Da muss man wenigstens keine Fehler-Ausgabe unterdrücken ;-)