Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:samba:samba_anpassungen]] 

Anpassung der Samba Konfiguration

Die Samba-Konfiguration lässt sich über die Konfigurations-Dateien /etc/samba/smb.conf.global und /etc/samba/smb.conf.shares an die lokalen Bedürfnisse anpassen.
Diese Dateien werden im Gegensatz zur Konfigurations-Datei /etc/samba/smb.conf bei Updateeinspielungen nicht überschrieben.
Samba-Konfigurationsveränderungen werden von Samba alle paar Minuten automatisch eingelesen, mensch kann aber auch das Einlesen erzwingen mit /etc/init.d/samba reload , jedoch wirken sich die Änderungen erst auf danach aufgebaute neue Nutzer-Verbindungen aus.


Speicherung von Dateien oder Dateitypen auf Netzwerk-Laufwerken unterbinden per "veto files"

s.a.: Using Samba: Dateien verstecken und Veto-Dateien

Soll die Speicherung bestimmter Dateien oder Dateitypen auf den Netzlaufwerken verhindert werden, läßt sich dieses mit dem Eintrag von veto files in die Samba-Konfiguration erreichen, also durch einen Eintrag in /etc/samba/smb.conf.shares.

[homes]
veto files = /Datei.a/Datei.b/
delete veto files = yes
  • Es läßt sich eine Liste von Dateien angeben.
  • Trenner ist „/“.
  • Die Liste mus mit einem „/“ enden.
  • Wildcards sind möglich.

Dieser Eintrag gilt immer nur für das Share, in diesem Beispiel „homes“, in dem er gesetzt ist.
Die zusätzliche Zeile „delete veto files = yes“ erlaubt dem Benutzer, ein Verzeichnis mit für ihn nicht sichtbaren veto files auch zu löschen. Ansonsten, also mit der Option „ = no“, erschiene ihm solch ein Verzeichnis zwar leer, ließe sich aber nicht durch ihn löschen.


Beispiel: Das Speichern von autorun.inf-Dateien durch die User unterbinden

[homes]
veto files = /autorun.inf/
delete veto files = yes

Vor der Änderung in der smb.conf.shares sollte sichergestellt werden, dass sich keine autorun.inf in den Homeverzeichnissen befinden. Man kann diese auffinden mit …

find /home -name autorun.inf

… oder finden und direkt löschen lassen mit z.B. …

 find /home/students/ -name 'autorun.inf' -exec rm -v {} \;

Mehrfachanmeldung eines Users unterbinden

Soll den Usern das mehrfache Anmelden mit einem Account verwehrt werden, lässt sich dies durch einen Eintrag in /etc/samba/smb.conf.shares erreichen. Dazu das Share [homes] definieren und folgendes einfügen:

max connections = 1

Damit wird erreicht, dass das Homeverzeichnis sich nur einmal verbinden lässt.

Das Share [homes] gibt es bereits in /etc/samba/smb.conf, es kann aber durch Eintragungen in /etc/samba/smb.conf.shares ergänzt werden. Bei einem Update werden die Eintragungen in /etc/samba/smb.conf.shares (im Gegensatz zu /etc/samba/smb.conf) nicht überschrieben.

Damit die Mehrfach-Anmeldung komplett scheitert, wird in /home/samba/netlogon/common.bat hinter der Zeile mit „IF EXIST K:\Patches\%COMPUTERNAME%.reg …“ eine Zeile eingefügt:

IF NOT EXIST H:\*.* shutdown -l
Die Datei /home/samba/netlogon/common.bat sollte nur mit einem Windows-Editor oder in Webmin bearbeitet werden (also nicht an der Linux-Konsole in einem Linux-Editor), da wegen unterschiedlicher Zeilenendekennzeichen unter Windows und Linux sonst unliebsame Fehler auftreten können.
Aus Gründen der Übersichtlichkeit ist es nicht empfehlenswert, für diese Einfügung die Datei /home/samba/netlogon/login.bat oder /home/samba/netlogon/logon.bat zu verwenden.

Es findet nun zwar eine Anmeldung statt, jedoch wird der sich doppelt anmeldende User nach wenigen Sekunden vom System automatisch wieder abgemeldet und sieht erneut das Windows-Anmeldefenster.

Hat sich ein Benutzer nicht ordnungsgemäß abgemeldet, kann er sich nicht direkt erneut anmelden, sondern muss ca. 15min warten, bis Samba die Abmeldung registriert. Damit Samba die unkorrekte Abmeldung sofort registriert bzw. eine erneute Anmeldung direkt zulässt, kann der Administrator z. B. an der Serverkonsole ein /etc/init.d/samba restart eingeben. Dies ist jedoch nur praktikabel, wenn keine anderen Benutzer mit ihrem Homeverzeichnis verbunden sind, da deren Verbindungen (mit eventuellem Datenverlust) gekappt würden.

Bei Bedarf kann eine Meldung bei dieser Zwangsabmeldung ausgegeben werden.

Möglichkeit 1: Ein vbs-Script mit Namen usermessage.vbs z. B. mit notepad schreiben:

  Const TIMEOUT = 10
  Set objShell = WScript.CreateObject("WScript.Shell")
  objShell.Popup "Ein Nutzer mit diesen Anmeldedaten ist bereits angemeldet!" & vbCrLf & _
  " " & vbCrLf & _
  "Es ist erneute Anmeldung mit den eigenen Anmeldedaten erforderlich!" , TIMEOUT

In die Datei /home/samba/netlogon/common.bat muss dann die folgende Zeile:

IF NOT EXIST H:\*.* CALL \\%SERVER%\netlogon\usermessage.vbs & shutdown -l

Möglichkeit 2: Verwendung des Programms logonmessage.exe. Man erhält dieses Programm z. B. hier

Das sieht dann z. B. so aus: in /home/samba/netlogon/common.bat wird hinter der Zeile mit „IF EXIST K:\Patches\%COMPUTERNAME%.reg …“ eingefügt:

  ...
  IF EXIST H:\*.* GOTO winnt_ende
  IF EXIST \\%SERVER%\netlogon\logonmessage.exe START \\%SERVER%\netlogon\logonmessage.exe /messagefile keine_mehrfach_anmeldung.txt /homedrive K:\System\Loginmessages
  sleep 10000
  shutdown -l
  :winnt_ende
  ...

Voraussetzungen:

  • Das Programm logonmessage.exe befindet sich in /home/samba/netlogon.
  • In der Datei keine_mehrfach_anmeldung.txt befindet sich der Text, der bei gescheiterter Anmeldung auf dem Bildschirm ausgegeben wird.
  • K:\System\Loginmessages ist das Verzeichnis, in dem sich die Datei keine_mehrfach_anmeldung.txt befindet. (Dieses Verzeichnis ist natürlich beliebig wählbar.)

Die Datei keine_mehrfach_anmeldung.txt könnte z. B. so aussehen:

%%%FormattedMessage%%%

!! Wichtige Nachricht !!
10
keep
Anmeldung ist nur mit eigenen Benutzerdaten erlaubt.
Ein Nutzer mit diesen Benutzerdaten ist bereits angemeldet.
Es ist erneute Anmeldung mit den eigenen Anmeldedaten erforderlich.
Der angezeigte Text muss in Z. 6 dieser Datei beginnen. Zur genauen Syntax s. hier

Wirkung:

  • START führt den folgenden Befehl im Hintergrund aus, ohne auf dessen Beendigung zu warten. Es wird deswegen sofort der nächste Befehl in der Batch-Datei ausgeführt.
  • sleep 10000 wartet 10s bis zur Ausführung des shutdown-Befehls.
  • shutdown -l bricht nach 10s den Anmeldevorgang ab.
 [[anwenderwiki:samba:samba_anpassungen]] anwenderwiki/samba/samba_anpassungen.txt · Zuletzt geändert: 2013/09/08 21:07 (Externe Bearbeitung)