Samba „einschließen“ eines Konfigurationsskripts pro Benutzer

Samba „einschließen“ eines Konfigurationsskripts pro Benutzer

include = /somepath/%u.smb.confEs ist möglich , den Abschnitt zu verwenden, globalum ein Skript aufzurufen /somepath/cb0.smb.conf, wenn der Benutzer cb0sich mit dem Samba-Server verbindet.
Leider funktioniert das bei mir nicht, da testparmich 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 testparmfehlt 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.

verwandte Informationen