Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | anwenderwiki:windowsclient:anmelde-quota [2017/05/15 06:57] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | {{tag> login quota}} | ||
+ | ====== Quota-Nutzung beim Anmelden anzeigen ====== | ||
+ | |||
+ | Damit es keine Überraschungen gibt, wenn das Home-Laufwerk plötzlich voll ist, gibt es hier eine Software, | ||
+ | die den Benutzer beim Login per Popup über seinen " | ||
+ | |||
+ | Es wird immer die Serveranpassung benötigt, welche dafür sorgt, dass die Quotainformation der Nutzer in deren Verzeichnissen unter .quotadat gespeichert wird. Zusätzlich benötigt man das Clientskript auf den Clients je nach Betriebssystem für Windows oder Linux. | ||
+ | |||
+ | Übrigens enthalten die vom Administrator gesetzten Quota immer einen ' | ||
+ | ===== Serveranpassung ===== | ||
+ | |||
+ | Ergänze die / | ||
+ | < | ||
+ | [homes] | ||
+ | ... | ||
+ | ... | ||
+ | ... | ||
+ | # Quota-Nutzung beim Anmelden anzeigen - LMN-Wiki | ||
+ | root preexec = / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Erstelle die Datei / | ||
+ | |||
+ | < | ||
+ | |||
+ | #!/bin/sh | ||
+ | |||
+ | HOMEPATH=$(/ | ||
+ | |||
+ | / | ||
+ | |||
+ | QUOTADAT=$HOMEPATH/ | ||
+ | DU=/ | ||
+ | AWK=/ | ||
+ | CHMOD=/ | ||
+ | |||
+ | MODE=0666 | ||
+ | |||
+ | if [ $# -lt 2 ]; then | ||
+ | echo " | ||
+ | exit 0; | ||
+ | fi | ||
+ | |||
+ | echo " | ||
+ | quota -lwvu $2| $AWK '/ | ||
+ | |||
+ | $CHMOD $MODE $QUOTADAT | ||
+ | </ | ||
+ | |||
+ | P.S: Um die Quota eines Benutzers am Server einzusehen, kann man auf dem Server diesen Befehl absetzen: | ||
+ | |||
+ | < | ||
+ | quota -lwvu benutzername | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Linux-Clients ( mit zenity-Paket z.B. XFCE-Desktop ) ===== | ||
+ | |||
+ | Das Paket **wmctrl** muss installiert werden: | ||
+ | < | ||
+ | sudo apt-get install wmctrl | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Das Linux-Clientskript speichert man unter **/ | ||
+ | Es gibt mehrere Varianten: | ||
+ | |||
+ | 1. Variante von Arnaud mit Anzeige bei jedem Quota-Stand: | ||
+ | < | ||
+ | #! /bin/bash | ||
+ | |||
+ | datei=" | ||
+ | |||
+ | used=$(grep insgesamt $datei | cut -d" " -f3) | ||
+ | quota=$(grep Erlaubter $datei | cut -d" " -f3) | ||
+ | |||
+ | percent=$(/ | ||
+ | |||
+ | if [[ " | ||
+ | color=" | ||
+ | text="" | ||
+ | elif [[ " | ||
+ | color=" | ||
+ | text="" | ||
+ | else | ||
+ | color=" | ||
+ | text=" | ||
+ | fi | ||
+ | |||
+ | (sleep 2 && / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | 2. Variante von Stefan mit Anzeige nur bei Quota-Stand ab 80%: | ||
+ | < | ||
+ | #! /bin/bash | ||
+ | |||
+ | datei=" | ||
+ | |||
+ | used=$(grep insgesamt $datei | cut -d" " -f3) | ||
+ | quota=$(grep Erlaubter $datei | cut -d" " -f3) | ||
+ | |||
+ | percent=$(/ | ||
+ | |||
+ | if [[ " | ||
+ | exit | ||
+ | elif [[ " | ||
+ | color=# | ||
+ | text=" | ||
+ | else | ||
+ | color=# | ||
+ | text=" | ||
+ | fi | ||
+ | |||
+ | (sleep 2 && / | ||
+ | |||
+ | exit | ||
+ | |||
+ | </ | ||
+ | |||
+ | Damit das Skript automatisch nach der Anmeldung aufgerufen wird, erzeugt man die Datei **/ | ||
+ | |||
+ | < | ||
+ | [Desktop Entry] | ||
+ | Encoding=UTF-8 | ||
+ | Version=0.9.4 | ||
+ | Type=Application | ||
+ | Name=TestQuota | ||
+ | Comment=Quota | ||
+ | Exec=/ | ||
+ | StartupNotify=false | ||
+ | Terminal=false | ||
+ | Hidden=false | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Windows-Clients ===== | ||
+ | |||
+ | Für Windows-Clients muss in die login.bat/ | ||
+ | |||
+ | < | ||
+ | wscript \\server\netlogon\quota.vbs | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Inhalt von quota.vbs (Anzupassen ist das Homelaufwerk H:) | ||
+ | < | ||
+ | ' | ||
+ | Time_Out = 20 | ||
+ | 'Name der Datei die angezeigt werden soll | ||
+ | Dateiname = " | ||
+ | 'Titel des Popupfensters | ||
+ | Popup_Titel = " | ||
+ | |||
+ | Dim objFSO | ||
+ | Dim objWScript | ||
+ | Dim objFile | ||
+ | |||
+ | Set objWScript = CreateObject(" | ||
+ | Set objFSO = CreateObject(" | ||
+ | |||
+ | If objFSO.FileExists(Dateiname) = True then | ||
+ | Set objFile = objFSO.OpenTextFile(Dateiname) | ||
+ | |||
+ | objWScript.Popup objFile.ReadAll, | ||
+ | |||
+ | objFile.Close | ||
+ | End if | ||
+ | |||
+ | Set objFile = Nothing | ||
+ | Set objWScript = Nothing | ||
+ | Set objFSO = Nothing | ||
+ | </ |