Seit längerem habe ich mich gestört, dass in den von cron versendeten E-Mails mit dem Status des Datenbank Backup-Scripts der Benutzername und das Passwort des verwendeten Datenbankbenutzers im Klartext stehen.
Dank einer Frage auf Superuser.com konnte ich diese „Unschönheit“ beheben.
Im Home-Verzeichnis meines Hosting-Benutzers habe ich eine Datei namens .my.cnf angelegt. Deren Inhalt:
[client] user=username password=password
username und password müssen selbstverständlich mit gültigen Zugangsdaten ersetzt werden.
Ganz wichtig: Die Datei ist mittels folgendem Befehl nur für den Owner lesbar zu machen:
$ chmod 600 ~/.my.cnf
Anschliessend habe ich mein Backup-Script umgebaut. Dort steht nun neu:
... OPTS="" OPTS="$OPTS --defaults-file=/home/sitename/.my.cnf" echo "" echo "Running $MYSQLDUMP $OPTS $DATABASE > $DUMPFILE" $MYSQLDUMP $OPTS $DATABASE > $DUMPFILE
Der Vorteil dieser Lösung: Selbst wenn der Sysadmin des Servers mittels ps ax alle auf dem Web-Server laufenden Prozesse (und so je nach Zeitpunkt auch meinen cron-Job) angezeigt erhält, steht auch dort nichts von einem Passwort oder gar Benutzernamen.