Linux User erstellen mit Mysql & BASH

Hallo

Für alle die mal per Bash & Mysql User erstellen wollen hier ne kleine Stütze 😀

Die Felder username und passwort werden gelesen und anschließend wird damit ein user erzeugt. Danach setzte ich das passwort in der Datenbank zurück (ursprünglich gedacht um Benutzter für Quotas/FTP einzurichten :D)

Dann das ganze noch mit einem 5 min Cronjob versehen und fertig

#!/bin/bash

db_user=USER
db_pw=PW
db_db=DATENBANK
table=TABELLE

i=0

dbase=`mysql -u$db_user -p$db_pw -e "use $db_db; SELECT username,passwort FROM $table WHERE passwort!='';"`
for data in $dbase ;
	do
		let i=$i+1
		let mod=$i%2

		if [ $mod -eq 0 ]; then
			password=$data
		fi
		if [ $mod -eq 1 ]; then
			user=$data
		fi
		if [ $mod -eq 0 ]; then
			if [ $i -gt 2 ]; then
				echo Creating:$user

				useradd -s /bin/false -p $password -d /home/$user $user
				mysql -u$db_user -p$db_pw -e "use $db_db; UPDATE $table SET passwort_ftp=null WHERE username='$user';"
			fi
		fi
	done

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