Direkt lassen sich in Python keine Pfade für das import Statement verwenden. Es ist ebenso nur möglich Dateien aus dem selben Ordner oder von Python erkannte Module mit dem import Statement einzubinden. Mit einem kleinen Trick lassen sich beliebige Pfade angeben.

import sys
sys.path.append('/hypatia/')

Das eingefügte Modul muss unbedingt die Datei __init__.py enthalten.

Keine Kommentare »
 

Ein kurzes Script um Benutzer aus einer Leerzeichen separierten Liste (siehe im Script CREATEUSER: user1 user2 userx) in MySQL zu importieren. Das Script speichert dabei Benutzer und das zufällig generierte Passwort 16 stellige Passwort in einer Log Datei (siehe im Script LOGFILE). Zusätzlich erstellt das Script eine Datenbank betitelt mit dem Benutzername. Für die erstellte Datenbank werden dem erstellten Benutzer außerdem alle Rechte garantiert.

Verwendung:

  • MySQL Login Daten eintragen
  • Benutzerliste
  • Logdatei eintragen (optional)
  • ausführen
#!/bin/sh
 
##
## <Configuration>
##
 
## MySQL login data
MYSQLUSER="root"
MYSQLPASS="MYSQLrootPassword"
MYSQLHOST="localhost"
 
## logfile
LOGFILE="/var/log/createmysqluser.log"
 
## mysql user to create
CREATEUSER="User1 User2"
 
##
## </Configuration>
##
 
for USER in ${CREATEUSER}; do
        PASSWORD=$(cat /dev/urandom | strings | grep -m 1 -oEi '[a-zA-Z0-9]{16}')
        echo "${USER} ${PASSWORD}" >> ${LOGFILE} 
        mysql -h $MYSQLHOST -u $MYSQLUSER -p$MYSQLPASS -e "CREATE USER ${USER}@'localhost' IDENTIFIED BY '${PASSWORD}';"
        mysql -h $MYSQLHOST -u $MYSQLUSER -p$MYSQLPASS -e "CREATE DATABASE ${USER};"
        mysql -h $MYSQLHOST -u $MYSQLUSER -p$MYSQLPASS -e "GRANT ALL PRIVILEGES ON ${USER}.* TO ${USER}@'localhost' WITH GRANT OPTION;"
done

Super praktisch wäre das Script, wenn es die MySQL Benutzer Liste über eine Datei einlesen würde. Macht es aber nicht. 🙂

Keine Kommentare »