![]() |
Samba - Konfiguration | smb.conf
Linux pk-applets |
Der Samba-Server stellt für Win-Clients zur Verfügung:
Vorbereitung:
Benutzer
Jeder User, der über Samba auf Speicherplatz auf dem Linux-Server
zugreifen soll, muß drei Instanzen bekannt sein.
Wir betrachten als Beispiel den User willi mit dem Kennwort
geheim.
1. Der User muß sich unter willi / geheim auf dem
Win-Client anmelden.
Wir benötigen also ein entsprechendes Konto
auf der Windows-Maschine.
2. Den User willi muß es als Benutzer auf der Linux-Maschine
geben.
Diesen Benutzer legt man am Besten mit Yast an.
Das Linux-Kennwort ist für Samba unwichtig,
denn Samba greift nicht auf die Passwort-Datei /etc/password
des Linussystems zurück.
Sollte sich ein solcher User nie auf Linux direkt
anmelden, so ist sein Home-Verzeichnis /tmp.
3. Nun kann der Benutzer willi auch dem Samba-Dienst bekannt gemacht
werden.
Der Befehl auf der Konsole smbpasswd -a
willi fügt den User willi hinzu.
Das Kennwort geheim muß eingegeben
und bestätigt werden.
Dateirechte
Ebenso müssen die Dateirechte am Linux-Server zu den Rechten passen,
die in der smb.conf stehen.
Beispiel:
Der Benutzer s0 darf gemäß der smb.conf
im Verzeichnis /verz/v0 lesen und schreiben, der Benutzer
s1
in /verz/v1 .. etc
Die User-Rechte des Linux-Systems müssen dann wie folgt sein:
Alle dürfen in /verz lesen und schreiben. (Vererbung!)
Ein User z.B. s2 kann aber in /verz
nix ausrichten, denn er wird von Samba gehindert!
Siehe den Eintrag valid users = +lehrer in
der smb.conf!
s0 ist Besitzer von v0 mit Lesen und Schreiben!
s1 ist Besitzer von v1 mit Lesen und Schreiben!
... etc
Diese Rechte können bequem entweder mit dem Konqueror oder entsprechenden
Linux-Dateimanagern eingestellt werden
oder mit den Befehlen chmod oder chown
auf der Konsole.
Bekommt man also beim Test von Samba am Win-Client unerwartet
Zugriffsverweigerung oder Kennwort-Anforderungen, so liegt
es meist an den User-Rechten von Linux.
Samba-Befehle:
/etc/init.d/smb start,restart oder stop
Samba starten, erneut starten (bei Ändern der smb.conf) oder stoppen.
smbclient -L<PC-Name>
zeigt die Shares/freigeg. Verzeichnisse auf dem PC an!
Man testet insbesondere den Samba-Server mit dem Befehl smbclient
-Llinux
testparm
Testet smb.conf : Ausdruck der gültigen Parameter und shares
Konfiguration in der Datei /etc/samba/smb.conf
Der erste Teil enthält allgemeine Regeln, der zweite Teil zählt die shares auf, also die freigegebenen Verzeichnisse.
1. smb.conf auf IAU
| workgroup = ag2.de
encrypt passwords = Yes guest account = nobody admin users = root time server = yes interfaces = 192.168.0.0/255.255.255.0 bind interfaces only = Yes hosts allow = 192.168.0. hosts deny = all wins support = no wins server = 192.168.0.18 mangle case = Yes browseable = No [allerlei]
[httpd]
|
Der Samba-Dienst hat auf der IAU kaum Aufgaben. Er öffnet lediglich
2. smb.conf auf LINUX
| [global]
workgroup = ag2.de encrypt passwords = Yes guest account = nobody admin users = root time server = yes interfaces = eth0 eth1 bind interfaces only = Yes hosts allow = 192.168.0.0/255.255.0.0 hosts deny = all wins support = Yes domain master = yes mangle case = Yes logfile = /var/log/samba-log.%m load printers = yes printing = cups [allerlei]
|
Dieser Samba-Server ist so eingerichtet, dass er Anfragen auf zwei Seiten
( Schulnetz und Computerraum ) somit auf zwei
Netzwerkkarten Anfragen akzeptiert
Durch wins support = Yes wird dieser PC zum WINS-Server,
d.h. er teilt im Netzwerk mit, welche IP sich hinter
z.B. comp34 verbirgt und ob der Rechner läuft. Dies wird durch
domain
master = yes unterstützt.
Bei anderen Samba-Rechnern im gleichen Netz darf dieser Wert nicht
mehr gesetzt werden.
Dieser PC stellt im Computerraum für Schülerclients Laufwerke
zur Verfügung:
| Bezeichnung | Beschreibung | Befehlsfolge auf Linux-Konsole |
| /allerlei | Ramsch-Verzeichnis wo jeder alles darf. | md /allerlei |
| /readonly | Gruppenrecht an Lehrer. Diese dürfen dort auch schreiben,
alle anderen nur lesen oder ausführen. |
md /readonly
chgrp lehrer /readonly chmod 0775 /readonly |
| /verz | Gruppenrecht an lehrer und alle Rechte für alle | md /verz
chgrp lehrer /verz chmod 0777 /verz |
| /verz/v0
/verz/v1 ...etc |
In /verz werden nun die Verzeichnisse v0, v1, v2.. etc angelegt, die jedem PC zugeordnet werden. Die lehrer erhalten das Gruppenrecht, s0, s1, s2..etc werden als User eingetragen. Befehlsfolge nach cd /verz! | md v0
chmod 0775 v0 chgrp lehrer v0 chown s0 v0 md v1
|
| /data | Daten für Programme | md /data |
| /srv/www/htdocs/kurs | Um von Schülerseite direkt Seiten für den
Apache-Webserver zu laden. |
. |
Zu /data
Den Zugriffsrechten auf /data muß von Hand nachgeholfen
werden.
Einerseits wollen mache Programme Lernfortschritte protokollieren,
also dort schreiben.
Andererseits sind Programme und Daten zu schützen.
Deshalb ist der Schreibzugriff mit dem Dateimanager von Linux für
jedes Unterverzeichnis gesondert zu regeln.
Zusätzlich wird durch
load printers = yes
printing = cups
die Benutzung eines Druckers ermöglicht.
Der Drucker wird mit Yast eingerichtet.
Dann benötigt eine Drucker-Warteschlange vom Typ raw. Diese wird
von Yast ebenfalls für Samba eingerichtet.
Auf unserem Server trägt sie die Bezeichnung raw
Dazu gehört in der smb.conf das share:
[raw]
path = /tmp
printable = yes
raw bedeutet, dass Daten für den Drucker von Samba direkt in die
Druckerschleife gestellt werden.
Auf jeden Client muß deshalb der Druckertreiber installiert sein!
Diese Ausdruck-Möglichkeit dient als Ersatz, wenn ein lokaler
Drucker ausfällt.
Die Clients werden durch eine Batch-Datei mit den shares verbunden.
Diese ist auf dem Win-Rechner in Ordner \programme\autostart
sowie auf dem Desktop untergebracht.
Die letzte Zeile sorgt für korrekte Systemzeit auf den Clients.
| if exist r: goto next1
net use r: \\linux\allerlei :next1 if exist s: goto next2 net use s: \\linux\readonly :next2 if exist x: goto next3 net use x: \\linux\data :next3 if exist t: net use t: /DELETE /yes
net time \\linux /set /yes |
Ich gesteh's an dieser Stelle:
Der Computerraum ist ein simples Peer-to-Peer Netzwerk!
3. smb.conf auf LINUX3 (Bibliothek!)
| workgroup = ag2.de
encrypt passwords = Yes logon script = connect.bat domain logons = Yes logon path = \\192.168.3.20\%U\profile interfaces = 127.0.0.1/255.255.255.255 192.168.3.0/255.255.255.0 bind interfaces only = Yes hosts allow = 127.0.0. 192.168.3. hosts deny = all guest account = nobody admin users = root mangle case = Yes logfile = /var/log/samba-log.%m lock directory = /var/lock/samba browseable = Yes domain master = Yes printing = bsd [brother]
[allerlei]
|
Samba auf dem Server LINUX3 horcht nur auf das Netz in der Bibliothek.
Dort aber gaukelts es den Win95 - Clients ein Domänen-Netzwerk
vor!
Nur durch
domain logons = Yes
wird Samba zum PDC für Win95-Clients d.H.:
Die User, die Samba unbekannt sind, werden in der Domäne nicht
akzeptiert.
Damit entfällt der Zugriff auf die shares und die Benutzung von
Drucker und Internet.
Ein Maschinen-Account ist bei Win95-Clients noch nicht nötig.
Bei richtiger Anmeldung wird das Script connect.bat im
Verzeichnis /netlogon ausgeführt.
Es ist für alle User gleich:
| net use r: \\linux3\allerlei
net use s: \\linux3\homes net time \\linux3 /set /yes echo have a lot of fun!!!! |
Die 2. Zeile verbindet mit dem individuellen Home-Verzeichnis auf dem
Server LINUX3.
Beachte: Diese Batch-Dateien sind Windows-Dateien! (Unterschiede im
Zeilenende!)
Sie müssen mit einem Windows-Editor erstellt werden.
Daten der Clients
Diese können in die Datei /etc/hosts eingetragen
werden, nötig ist das aber meist nicht.
Wichtiger wäre, in dieser Datei die IP's der Linux-Server einzutragen..
/etc/hosts von linux
| 192.168.0.20
192.168.0.16 192.168.2.110
|
iau.ag2.de
linux3.ag2.de comp0.ag2.de
|
iau
linux3 comp0
|
Anlegen der Benutzer
Linux-User s0, s1, s2 etc ... ohne Kennwort s0 steht für
den anonymen Lehrer ohne zusätzliche Rechte, s1, s2, s3 etc
... stehen für die Benutzer der Schüler PC's.
Diese Benutzer werden von root auf dem Linux-Server mit Yast angelegt.
Das folgende Script erzeugt diese User zusammen mit dem Verzeichnis
in /verz
| if test $# -eq 1
then mkdir /verz/v$1 useradd -d /tmp -p pupil s$1 chmod 0775 /verz/v$1 chgrp lehrer /verz/v$1 chown s$1 /verz/v$1 smbpasswd -a s$1 exit 0 fi echo "Anweisung add_user.bat + Nummer!!" |
smbpasswd fordert zweimal die Enter-Taste zur Kennworteingabe.
Für die Lehrer, die mit dem Windows-Explorer auch umgehen können,
werden Benutzer mit Kennwort angelegt.
Diese werden in der Gruppe der Lehrer zusammengefasst.
Arbeit bei den Windows-Clients
Bei den Win-Clients ist die Arbeitsgruppe ag2.de einzugeben sowie der
passende Computername.
Ansonsten ist beim Peer-to-Peer Netzwerk außer der IP nichts
einzustellen.
Die Batch-Datei im Ordner \programme\autostart sorgt
dafür, dass die Samba-shares den richtigen
Laufwerksbuchstaben zugeordnet werden.
Bei den WIN95-Clients der Bibliothek wird bei Konfiguration des Netzwerks
- im Folder : Konfiguration
- bei Primärer Netzwerkanmeldung Client für MS-Netzwerke
einstellen
- Client für MS-Netzwerke im Textfeld anklicken, dann Eigenschaften
- Hier An Windows NT-Domäne anmelden anklicken
- schnelle Anmeldung anklicken
- Bei Windows NT-Domäne ag2.de eintragen.