Crypt unter Debian in Bash benutzten

Hey

Nachdem ich heute auf den Fehler gestoßen bin, dass der befehl “useradd” für den parameter -p nur MD5 gecryptete passwörter nimmt musste ich mir eine methode überlegen wie ich aus einer variable in bash am besten ein passwort erstellen kann. Das ganze habe ich dann so gelöst indem ich mir ein kleines C projekt gezaubert habe:

#include <iostream>

/*
 * Autor: Kordian Bruck - http://blog.wdkk.de/
 * Modified: Dominic Reich - <dr @dark-fellow.info>
 */
using namespace std;

int main (int argc, char* argv[]){
	if( argc == 2 ){
		cout <<crypt( argv[1], "$1$" ) << endl;
		return 0;
	} else{
		cerr << "Usage: " << argv[0] << " <your key to crypt here>" << endl;
		return -1;
	}
}

Das ganze wird dann mit dem befehl compiliert:

gcc -lcrypt md5.crypt.c -o md5.crypt

In dem Bash script kann dann einfach die md5.crypt mit dem passwort als argument aufgerufen werden, z.b.:

password_crypt=$(/web/res/crypt/md5.crypt $password)
echo Creating:$user:$password:$password_crypt

Leichter gehts wohl kaum noch und besser als das ganze mit perl zu machen ist es meiner meinung nach auch.

Viel Spaß

Published by

Kordian Bruck

I'm a TUM Computer Science Alumni. Pizza enthusiast. Passionate for SRE, beautiful Code and Club Mate. Currently working as an SRE at Google. Opinions and statements in this blog post are my own.

Leave a Reply