Nachrichten von Samba zu Benutzer

D

drown

Jungspund
Hallo!
Ich habe einen Samba Server auf Debian Linux. Die Clients sind nur Windowsrechner. Es gibt ein besonderer Ordner, welchen alle Benutzer hin und wieder schauen sollten. Dabei möchte ich, dass (wenn eine neue Datei vorhanden ist), jeder Benutzer bei Windowsanmeldung mit einer Nachricht aufmerksam gemacht wird. Gibt es eine Lösung dafür.

Danke im Voraus.
Drown
 
Hi,
kurzes googeln ergab folgenes shell-skript:

#! /bin/bash
zeit_datei=/home/austausch/.letzter_lauf
if test -f $zeit_datei; then
find_opt="-newer $zeit_datei""
else
find_opt=
fi
n_dateien="`find /home/austausch/username -type f $find_opt -print`"
if test -n "$n_dateien"; then
echo "neue Datei" | smbclient -U user -M /dev/null || \
echo $n_dateien | mail -s "neue Datei" user@host
fi
touch $zeit_datei
exit 0

Die Nachrichten gehen hier per smbclient raus, sind also für Win*-PCs gedacht. Wenn das schiefgeht (z. B. weil der PC nicht an ist), wird die Nachricht per E-Mail abgeschickt.
Das zu überwachende Verzeichnis sowie die Mailadresse müssen noch an die konkrete Umgebung angepasst werden. Der Name der Datei, deren Modifikationsdatum als Vergleich benutzt wird ($zeit_datei), kann eigentlich beliebig gewählt werden. Wichtig für eine korrekte Funktion ist, dass nicht andere Prozesse die Modifikationszeit ändern.


Das ist schonmal ganz praktisch. Du wolltest allerdings eine Benachrichtigung bei der Anmeldung.
Mein erster Gedanke dazu wäre: Mach Userbasierte Logonscripte (über die smb.conf).
Dann das Script so modifizieren dass die PCs nicht angeschrieben werden oder eine Mail verschickt wird sondern das LogonSkript aller user verändert wird.
In das Logonskript kann man dann zusätzlich zu einem Befehl zur Benachrichtigung noch einen Befehl packen der diese Änderung am Logonscript wieder Rückgängig macht. Das würde sicher stellen das jeder Benutzer die Nachricht genau einmal erhält, egal wie lange nach der Änderung im Ordner er sich anmeldet.
Man bräuchte dann nur noch einen geeigneten Befehl zur Benachrichtigung. Keine Ahnung ob man auf einfache Weise ein Windowspopup realisieren kann - die einfachste Lösung ist eine Textdatei aufspringen zu lassen.

Das Script auf dem Server müsste dann nur noch per CronJob in gewünschten Abständen ausgeführt werden.
Wenn du die Änderungen sehr zeitnah mitbekommen möchtest ist "Iwatch" dein Stichwort. Ist ein Tool zur Überwachung in Echtzeit, aber nicht so ressourcenverbrauchen wie ein cronjob im 5-sekundentakt, da das OS sowieso alle Änderungen mitbekommt.

Auch noch interessant sind die Befehle preexec und postexec in der smb.conf. Damit könntest du das Problem auch lösen falls die die Sache mit den Logonskripten nicht gefällt. Die hätte auch ein paar Nachteile, z.B. fällt mir da ein dass dann der User Schreibrechte in seinem Logonskript benötigt.


Gruß
Onno
 
Vielen Dank Onno!
Ich werde das probieren. Es wird eine weile dauern, da ich dafür ganz neue bin.
grüße
drown
 

Ähnliche Themen

Samba 3.6.25 - OpenLDAP Setup

Samba 4 aus repository über lokale Source-Installation installieren?

solved Problem mit smtp (postfix) als send-only mta hinter NAT

Zugriff Ubuntu 16.04. auf Freigabe 18.04. LTS nicht möglich

Keine grafische Oberfläche (Debian Installation)

Zurück
Oben