Hi.
> kurzer Tipp zu deinem Skript:
Danke.

> Ans Ende der Zeilen müssen keine  Semikolons hin.
Muss nicht -- kann aber.

Die anderen Tipps habe ich eingebaut. Der awk-Befehl läßt sich ebenfalls
radikal vereinfachen:
LIST=$(chilli_query list | grep pass | awk '{print $6}' );
liefert schon den Usernamen ... (war copy&paste aus einem anderen Script)

> da der
> Konfigurationswert auch nicht in Anführungszeichen stehen kann.
Der wird ja automatisch da hineingeschrieben -- daher denke ich, dass
die Syntax stets gleich ist??

> "|grep pass" kann man wahrscheinlich auch noch durch eine schönere regex
> ersetzen, ich kenne die Ausgabe von "chilli_query list" aber nicht.
Möglich -- aber es funktioniert im Moment.
Meine Frage wäre, wie ich im Usernamen eine Unterscheidung durchführen
kann ... also konkret:
"Wenn's eine MAC-Adr ist tue nichts -- sonst führe den disconnect aus."
Vielleicht könnte man da nach "-" suchen lassen, da dieses Zeichen bei
uns in keinem Usernamen vorkommt. Aber ob das allgemeingültig ist, wage
ich mal zu bezweifeln...

Momentaner Stand:

#!/bin/bash

# Radiussecret wird automatisch ausgelesen:
secret=$(cat /etc/chilli/hs.conf |grep ^radiussecret | cut -d "\"" -f 2);

# Liste aller angemeldeten WLAN-User, die  in den Pausen disconnected
werden sollen.
# User die nur als "MAC-Adresse" auftauchen duerfen ohne Auth ins WLAN.
# Diese sollen beim disconnect natürlich unberücksichtigt lassen.
# Diese Unterscheidung muss noch eingebaut werden!

echo
echo
echo "Folgende User sind angemeldet:";
echo "==============================";
LIST=$(chilli_query list | grep pass | awk '{print $6}' );
echo $LIST;

echo
echo "Die User werden abgemeldet:";
echo "==============================";

for i in $LIST
 do
  #echo $LIST
  echo "User-Name=$i" | radclient -x 127.0.0.1:3779 disconnect "$secret"
| grep User-Name;
done


echo
echo
echo "Nach 'disconnect' sind noch angemeldet:";
echo "=======================================";
chilli_query list | grep pass | awk '{print $6}' ;

echo
echo

exit 0




-- 
Systemdaten:
============
- virtualisiert mit Proxmox 2.3
- linuxmuster.net 6.0.46
- IPFire 2.15
- Linbo 2.1.10-0
- Ubuntu 14.04 Clients (trusty714-Vorlage)
- leoclient1 mit WinXP im offline-Modus
- Moodle 2.7.8 (extern mit LDAPS und openLML-Modul)
- WLAN: Unifi-APs (UAP-AC) am CoovaChilli
- Info-Boards: tabula.info Server + RasPi-Clients
_______________________________________________
linuxmuster-user mailing list
linuxmuster-user@lists.linuxmuster.net
https://mail.lehrerpost.de/mailman/listinfo/linuxmuster-user

Antwort per Email an