Hi.
Ich habe ein kleines Script geschrieben, mit dem man vom Server aus folgendes erreichen kann:
Es ist jetzt möglich, dass man völlig ohne Schulkonsole und nur via SSH einer oder mehreren Gruppen (Projekte oder Klassen) Zugriff auf das WLAN gewähren kann. Dazu wird der sophomorix-Befehl aufgerufen, der die Klasse bzw. das Projekt zu “p_wifi” hinzufügt. (default wurde beibehalten!)
Ich habe es hier getestet und es läuft! Das schöne daran: Es ist eine Mehrfachauswahl möglich und es läuft in der Konsole schneller als in der SchuKo.
(Da die Gruppen bei uns in jeder großen Pause durch einen Cronjob automatisch wieder aus p_wifi entfernt werden, benötige ich keine Option zum Entfernen. Man könnte das aber natürlich auch einbauen.)
Wer das Script gebrauchen kann --> Bitte sehr
#!/bin/bash
#set -x
# wifi-access.sh, 05.12.2017 von M.H.
# Mit diesem Script kann man unter linuxmuster 6.x einer oder mehreren Gruppen/Projekten per SSH Zugriff
# auf das WLAN gewaehren.
# Voraussetzungen: "dialog" muss installiert sein.
VER=1.0
############################################################################################################
# Datei, in der die gewaehlten Optionen gespeichert werden, zunaechst loeschen:
rm -f /tmp/options
#Die Checkliste benötigt drei Parameter: Zaehler, gruppe/kurs, wifi(dummy)
Zaehler=0
while IFS=";" read spalte1
do
Zaehler=$((Zaehler+1))
echo "$Zaehler $spalte1 wifi" >>/tmp/options
done < <( sophomorix-project -i | awk '{print $1}' | grep p_ && sophomorix-class -i |awk '{print $1}'|tail -n +4 |head -n -2 )
OPTIONS=`cat /tmp/options`
choices=`/usr/bin/dialog --backtitle "WiFi-Access $VER" --stdout --checklist 'Welche Gruppe soll WLAN-Zugriff erhalten:' 30 75 25 ${OPTIONS}`
echo "Gruppen werden aufgenommen..."
if [ $? -eq 0 ]
then
for choice in $choices
do
#Anführungszeichen los werden:
auswahl=$(echo $choice |sed 's/\"//g')
while read nummer gruppe wifi
do
if [[ $auswahl = "$nummer" ]]; then
#Unterscheidung, ob Klasse oder Projekt:
if [[ $gruppe =~ .*p_.* ]]
then sophomorix-project -p p_wifi --addmemberprojects $gruppe;
else sophomorix-project -p p_wifi --addmembergroups $gruppe;
fi
fi
done < <( cat /tmp/options )
done
else
echo "Keine Auswahl! Ende!"
fi
#EOF