Es ist sehr aufwändig, wenn ihr mehrere Benutzer von Hand anlegen wollt. Daher bietet Nextcloud die Möglichkeit, mehrere Benutzer per Skript anlegen zu lassen. Wie das funktioniert zeige ich hier.

Zuerst legt ihr euch eine Datei an, in der ihr alle Benutzer eintragt, welche angelegt werden sollen. Die Datei sollte so aufgebaut sein. In jeder Zeile ein Benutzer.

Vorname Nachname;nutzername1;Gruppe1
Vorname Nachname;nutzername2;Gruppe2

Da wir alle Kennwörter automatisiert erstellen lassen wollen, müssen wir uns noch einen Passwortgenerator installieren.

apt-get install pwgen

Nun können wir auch schon mit dem eigentlichen Skript beginnen.

Dieses Skript müsst ihr in eine neue Datei kopieren und die Pfade entsprechend anpassen.

Skript, welches Benutzer in eine Gruppen einfügen kann

#!/bin/bash
var_datum=$(date +"%Y%m%d")
var_user_file= Pfad zu eurer Datei mit Nutzernamen, die wir eben angelegt haben
var_web_user=www-data
var_path_nextcloud=Pfad zur eurer Nextcloud
var_result_file="${var_datum}_user_create.txt"
while read -r line
do
var_password=$(pwgen 12 -c -n -N 1)
set -e
export OC_PASS=$var_password
var_username=$(echo "${line}" | cut -d";" -f2)
var_name=$(echo "${line}" | cut -d";" -f1)
var_group=$(echo "${line}" | cut -d";" -f3)
su -s /bin/sh ${var_web_user} -c "php ${var_path_nextcloud}/occ user:add ${var_username} – password-from-env – group='${var_group}' – display-name='${var_name}'"
echo "Benutzer ${var_username} wurde mit Passwort ${var_password} erstellt" >> "${var_result_file}"
done < $var_user_file

Skript, welches Benutzer in mehrere Gruppen einfügen kann

#!/bin/bash
var_datum=$(date +"%Y%m%d")
var_user_file= Pfad zu eurer Datei mit Nutzernamen, die wir eben angelegt haben
var_web_user=www-data
var_path_nextcloud=Pfad zur eurer Nextcloud
var_result_file="${var_datum}_user_create.txt"
while read -r line
do
var_password=$(pwgen 12 -c -n -N 1)
set -e
export OC_PASS=$var_password
var_username=$(echo "${line}" | cut -d";" -f2)
var_name=$(echo "${line}" | cut -d";" -f1)
var_group=$(echo "${line}" | cut -d";" -f3)
var_group2=$(echo "${line}" | cut -d";" -f4)
var_group3=$(echo "${line}" | cut -d";" -f5)
su -s /bin/sh ${var_web_user} -c "php ${var_path_nextcloud}/occ user:add ${var_username} – password-from-env – group='${var_group}' – group='${var_group2}' – group='${var_group3}' – display-name='${var_name}'"
echo "Benutzer ${var_username} wurde mit Passwort ${var_password} erstellt" >> "${var_result_file}"
done < $var_user_file

Es wird also lediglich beliebig oft folgende Zeile hinzugefügt zum Skript:

var_groupX=$(echo "${line}" | cut -d";" -fX) und entsprechend in Zeile 17 angepasst.

Die Datei mit den Nutzern muss folgendermaßen abgeändert werden:

Vorname Nachname;nutzername1;Gruppe1;Gruppe2;...
Vorname Nachname;nutzername2;Gruppe2;Gruppe3;...

Skript ausführbar machen

Diese Datei müsst ihr nun noch ausführbar machen. Dazu gebt ihr folgendes ein:

chmod +x Skriptname

Nun könnt ihr das Skript starten

./Skriptname

Im selben Verzeichnis sollte nun eine Datei sein, welche euch die Passwörter der Nutzer anzeigt:

Benutzer test2 wurde mit Passwort roob7shie3Sh erstellt
Benutzer test3 wurde mit Passwort XaiFoh1Ao1ah erstellt
Benutzer test4 wurde mit Passwort Kah5vie5Ingi erstellt

Teile diesen Beitrag
Christian

Categories:

Keine Kommentare vorhanden

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.