Ich sehe eine Skizze einer Lösung mit Samba-Anmeldeskripten - clientseitigem Code, der nach einer Samba-Anmeldung ausgeführt wird -, aber eine vollständige Lösung muss die Skizze mit Details vervollständigen. Ebenfalls verwandt sind "preexec-Skripte" - serverseitiger Code, der während einer Samba-Anmeldung ausgeführt wird.
Verweisen auf die Manpage smb.conf
Anmeldeskript (G)
Dieser Parameter gibt die Batchdatei (.bat) oder NT-Befehlsdatei (.cmd) an, die heruntergeladen und auf einem Computer ausgeführt werden soll, wenn sich ein Benutzer erfolgreich anmeldet. Die Datei muss die CR / LF-Zeilenenden im DOS-Stil enthalten. Es wird empfohlen, zum Erstellen der Datei einen DOS-Editor zu verwenden.
Das Skript muss ein relativer Pfad zum Dienst [netlogon] sein. Wenn der Dienst [netlogon] den Pfad / usr / local / samba / netlogon und das Anmeldeskript = STARTUP.BAT angibt, wird folgende Datei heruntergeladen:
/usr/local/samba/netlogon/STARTUP.BAT
Der Inhalt der Batch-Datei liegt ganz bei Ihnen. Ein vorgeschlagener Befehl wäre, NET TIME \ SERVER / SET / YES hinzuzufügen, um jede Maschine zu zwingen, Uhren mit demselben Zeitserver zu synchronisieren. Eine andere Verwendung wäre das Hinzufügen von NET USE U: \ SERVER \ UTILS für häufig verwendete Dienstprogramme oder
NET USE Q: \\SERVER\ISO9001_QA
zum Beispiel.
Beachten Sie, dass es besonders wichtig ist, keinen Schreibzugriff auf die [netlogon] -Freigabe zuzulassen oder Benutzern Schreibberechtigungen für die Batchdateien in einer sicheren Umgebung zu erteilen, da dies die willkürliche Änderung der Batchdateien und die Verletzung der Sicherheit ermöglichen würde.
Diese Option übernimmt die Standardersetzungen, sodass Sie für jeden Benutzer oder Computer separate Anmeldeskripts haben können.
und auch
preexec (S)
Diese Option gibt einen Befehl an, der ausgeführt werden soll, wenn der Dienst verbunden ist. Es werden die üblichen Substitutionen benötigt.
Ein interessantes Beispiel ist, den Benutzern bei jeder Anmeldung eine Willkommensnachricht zu senden. Vielleicht eine Nachricht des Tages? Hier ist ein Beispiel:
preexec = csh -c 'echo \"Welcome to %S!\" | /usr/local/samba/bin/smbclient -M %m -I %I' &
In Ihrem Fall möchten Sie jedoch wirklich Anmeldeskripte (unverschlüsseltes Formular ist auf dem Client bereitgestellt). Eine Lösungsskizze kann daher Folgendes umfassen:
- Stellen Sie sicher, dass auf jedem Computer ein EncFS-Äquivalent installiert ist
- Schreiben Sie ein Anmeldeskript (.bat-Format), das encfs auf dem Client aufruft und den Benutzer zur Anmeldung auffordert. Der Befehl encfs stellt das unverschlüsselte Formular somit lokal bereit, wobei der Remote-Speicher verschlüsselt bleibt.
Konfigurieren Sie smb.conf so, dass die relevanten Benutzer das Anmeldeskript ausführen. zB so etwas wie
Anmeldeskript = runencfs.bat
Für Bonuspunkte kann Ihr Anmeldeskript die Installation von Encfs (von der Samba-Freigabe) automatisieren / auffordern und den Mount nur ausführen, wenn er installiert ist!
Clientseitige Skripts verursachen jedoch aufgrund der cmd-Sprache Kopfschmerzen, stellen die Installation von encfs sicher und umgehen Windows- Fallstricke wie Windows 8.1 und höher. Die Anmeldeskripts werden erst fünf Minuten später ausgeführt, sofern nicht anders konfiguriert .