
include = /somepath/%u.smb.conf
Es ist möglich , den Abschnitt zu verwenden, global
um ein Skript aufzurufen /somepath/cb0.smb.conf
, wenn der Benutzer cb0
sich mit dem Samba-Server verbindet.
Leider funktioniert das bei mir nicht, da testparm
ich immer
Can't find include file /somepath/.smb.conf
Wenn ich mich mit dem Server verbinde, kann ich einen Benutzernamen und ein Passwort eingeben, aber die Verbindung wird immer abgelehnt.
Ich verwende Samba Version 3.2.5
Wie kann ich erreichen, dass je nach Benutzer, der eine Verbindung herstellt, ein benutzerdefiniertes Benutzerskript geladen wird?
Antwort1
Du machst es richtig! Allerdings testparm
fehlt einfach ein Benutzername zum Testen.
Antwort2
METHODE 1. Wenn Sie Samba nicht dazu bringen können, installieren SieFail2Ban-- eine Suite zur Überwachung und Sicherheit von Protokolldateien (Pakete, die über die Softwareverwaltungssysteme der meisten Linux-Distributionen verfügbar sind) -- und konfigurieren Sie dann Fail2Ban so, dass das Samba-Protokoll auf die Anmeldezeilen überwacht wird. Stellen Sie die Anzahl der zu erkennenden Zeilen auf 1 und legen Sie die Aktion auf ein Skript fest, das beim Anmelden das von Ihnen gewünschte ausführt. Um all dies zu erreichen, müssen Sie Dateien unter /etc/fail2ban bearbeiten und sich mit regulären Ausdrücken und den Protokolldateien, die Sie überwachen müssen, auskennen.
Dies ist nicht so sauber wie ein in Samba integriertes Skript. Beispielsweise wird es wahrscheinlich nicht mit dem genauen Zeitpunkt der Benutzeranmeldung synchronisiert.
METHODE 2. Auch hier nicht so sauber, wie wir es gerne hätten. Konfigurieren Sie Ihren Samba so, dass für jede Verbindung eine Protokolldatei ausgegeben wird. Erstellen Sie Verzeichnisse mit den Namen „unprocessed“ und „processed“ und konfigurieren Sie Samba so, dass die Protokolldatei pro Verbindung in das Verzeichnis „unprocessed“ geschrieben wird. Schreiben Sie einen Cron-Job oder ein Loop-Skript (schlafen Sie zwischen den Iterationen vielleicht 1 oder 2 Sekunden), um die Dateien im Verzeichnis „unprocessed“ zu durchlaufen und das zu tun, was Sie tun müssen, und verschieben Sie sie dann per MV in das Verzeichnis „processed“.
Wenn Sie genauer beschreiben, was Sie tun möchten, können Ihnen möglicherweise andere Leute helfen.