Script zur Benutzererstellung

Änderungsstand: 2020-03-02

Von OMV5 eigentlich nicht so vorgesehen, aber trotzdem funktionell.

Achtung! Beim Raspi habe ich mir mit diesem Script die SD-Card zerschossen! Da diese aber schon einige Zeit hinter sich hatte, kann es auch Zufall gewesen sein. Auf meinem x64 gab`es keine Probleme! Bitte im Zweifelsfall diesen Guide als Inspiration ansehen und/oder vorher gründlich auf einem Testsystem testen.

Wer folgendes Szenario kennt, weiß wovon ich schreibe. Man richtet ein OMV5 ein und hat quasi eine Großfamilie, die auf den jeweiligen Freigabeordnern zugreifen. Ziemlich lange dauert dann auch die Erstellung der Freigebeordner und Benutzer. Die Benutzer kann man allerdings auch mittels Script im Terminal erstellen lassen. Hierbei muss ich aber explizit darauf hinweisen, dass man erst auf einem Testsystem Versuche tätigen sollte. Schnell schleichen sich Schreibfehler ein. Dieses folgende (getestete) Script erstellt eine Benutzergruppe Namens free-for-all, 6 Benutzer (Max, Klaus, Berta, Clara, Sabine & Emby) mit dazugehörigem Passwort (im Beispielscript jeweils 123456) und mit dem Attribute user, wobei Benutzer 1 bis 5 die Gruppenzugehörigkeit der Gruppe „free-for-all“ bekommen und der Benutzer Max zusätzlich noch Admin-Rechte zugewiesen bekommt. Dieses Script kann nach Belieben erweitert oder gekürzt werden, wenn man erst mal den Aufbau verstanden hat. Im Kopf des Scriptes gibt es noch einige Erklärungen zur Abfolge.

Im Terminal:

cd /usr/local/bin && sudo nano user-script

Folgendes komplett einfügen und nach eigenem Bedarf anpassen:

#!/bin/bash
# Ablageverzeichnis: /usr/local/bin/user-script
#########################################################################################
#### Beschreibung Start:
#### Alle Zeilen, beginnend mit einem # sind Informationszeilen und werden im Script nicht als Befehl erkannt! 
#### Beispielbeschreibung für Benutzer: Knilix und gemeinsame Gruppe Namens: free-for-all
# sudo -i | Benutzermodifikation Start (muss als Befehlszeile sein - funkt. nicht im Script)
# addgroup free-for-all | Gruppe "free-for-all" hinzufügen
# useradd -p $(mkpasswd --hash=md5 12345) Knilix | Benutzer Knilix mit Passwort 12345 hinzufügen
# usermod -aG users,adm,freeall Knilix | Knilix in Gruppen "users", "adm", "freeall" hinzufügen
# usermod -g users Knilix | Standard-Gruppe auf users ändern
# delgroup Knilix | Benutzer Knilix löschen (dieser wurde mit angelegt, aber nicht benötigt)
### delgroup freeall | Gruppe freall löschen (wollen wir nicht - nur zur Info)
### deluser Knilix | Benutzer löschen (wollen wir nicht - nur zur Info)
# exit | Benutzermodifikation Ende (muss als Befehlszeile sein - funkt. nicht im Script)
#### Beschreibung Ende!
#########################################################################################
#### Variablendefinition Start:
USER_1="Max"
 PASSWORT_USER_1="(mkpasswd --hash=md5 123456)"
USER_2="Klaus"
 PASSWORT_USER_2="(mkpasswd --hash=md5 123456)"
USER_3="Berta"
 PASSWORT_USER_3="(mkpasswd --hash=md5 123456)"
USER_4="Clara"
 PASSWORT_USER_4="(mkpasswd --hash=md5 123456)"
USER_5="Sabine"
 PASSWORT_USER_5="(mkpasswd --hash=md5 123456)"
USER_6="Emby"
 PASSWORT_USER_6="(mkpasswd --hash=md5 123456)"
GROUP_1="free-for-all" 
Ausgabe="Benutzer & Gruppen erstellt. Ausgabe auf Fehlermeldung(en) checken!"
#### Variablendefinition Ende!
#########################################################################################
#### Start:
## Benutzergruppe anlegen:
 addgroup --force-badname ${GROUP_1}
## Benutzer mit Passwort anlegen:
  useradd -p $${PASSWORT_USER_1} ${USER_1}
  useradd -p $${PASSWORT_USER_2} ${USER_2}
  useradd -p $${PASSWORT_USER_3} ${USER_3}
  useradd -p $${PASSWORT_USER_4} ${USER_4}
  useradd -p $${PASSWORT_USER_5} ${USER_5}
  useradd -p $${PASSWORT_USER_6} ${USER_6}
## Gruppenzuweisung (der erste Benutzer bekommt zusätzlich Admin-Rechte zugewiesen):
  usermod -aG users,adm,${GROUP_1} ${USER_1}
  usermod -aG users,${GROUP_1} ${USER_2}
  usermod -aG users,${GROUP_1} ${USER_3}
  usermod -aG users,${GROUP_1} ${USER_4}
  usermod -aG users,${GROUP_1} ${USER_5}
  usermod -aG users ${USER_6}
## Standardgruppe >users< zuweisen:
  usermod -g users ${USER_1}
  usermod -g users ${USER_2}
  usermod -g users ${USER_3}
  usermod -g users ${USER_4}
  usermod -g users ${USER_5}
  usermod -g users ${USER_6}
## Überschüssiges löschen:
  delgroup ${USER_1}
  delgroup ${USER_2}
  delgroup ${USER_3}
  delgroup ${USER_4}
  delgroup ${USER_5}
  delgroup ${USER_6}
#### Ende
 echo "$Ausgabe"

STRG-x, y, Enter

Folgende 2 Befehle im Terminal nacheinander eingeben (so, wie diese sind und nichts vergessen!)

cd && sudo -i
bash user-script && exit

Die Benutzer wurden erstellt und werden nun auch im OMV5 unter Benutzer angezeigt. Gegebenenfalls das Browserfenster aktualisieren.

Nicht wundern, dass, wenn man mit dieser Variante, einen erstellten Benutzer oder eine Gruppe in OMV5 entfernen will, eine Fehlermeldung erscheint. Diese einfach mit OK bestätigen.