Zunächst möchte ich daruf hinweisen dass dieser Rechner zwar als File-Server bezeichnet wird, er jedoch auch andere Funktionen wie NIS- und Print-Server bietet.
Es wird im ersten Abschnitt zunächst die Vorbereitung und Installation beschrieben, in den weiteren Abschnitten wird auf die eigentliche Konfiguration bzw. die Installation spezieller Software eingegangen.
Um die Konfiguration zu vervollständigen bitte auch die Punkte unter Allgemein beachten und übernehmen!
Möchte man die Integrität des Dateisystems mittels Tripwire überprüfen bzw. den Rechner im Rahmen der Installation darauf vorbereiten (später hat es eigentlich kaum Sinn) ist zu beachten dass der Rechner im Single-User Betrieb benutzt wird bis mittels Tripwire die entsprechende Datenbank erstellt wurde. Dies ist z.B. gewährleistet indem man niemanden physikalisch an dem Rechner arbeiten lässt und diesen auch noch nicht physikalisch an ein Netzwerk anschliesst. Dies ist natürlich verhältnismässig extrem für einen Rechner z.B. in einer WG, allerdings sollte man zumindest darauf achten dass der Rechner bis zu diesem Zeitpunkt nicht mit dem Internet verbunden ist.
Zunächst sollte man sich die unter
Software
aufgeführten Updates und
Programme/Dateien besorgen und je nach Möglichkeit auf einem anderen Rechner
speichern um z.B. per NFS später darauf zugreifen zu können oder auf CD
brennen usw.. Natürlich kann man die Dateien auch während bzw. nach der
Installation herunterladen, allerdings muss man dann ggf. mit einem nicht ganz
sicheren System ins Netz. Um nicht selbst die Pakete während der
Installation auswählen zu müssen kann man die Konfigurationsdatei
fileserv.sel
(siehe
Software
) benutzen.
Die Datei auf eine Diskette kopieren (empfohlen wenn in dem Gateway ein
Diskettenlaufwerk zur Verfügung steht) oder ausdrucken.
Weiter wird von folgender Hardware-Konfiguration ausgegangen:
- AMD K6-2 350MHz
- 64MB RAM
- min. 1.5GB HDD für das System als Primary Master, hier 3.6GB
- 1 HDD für die Home-Verzeichnisse (RAID1) und temporären Speicherplatz, als Primary Slave, Grösse nach Bedarf, hier 10GB
- 1 HDD für die Home-Verzeichnisse (RAID1) und sonstige Daten, als Secondary Master, Grösse nach Bedarf, hier 30GB
(Wenn man wie unten gezeigt ein RAID1-System anlegen möchte muss man beachten dass nur die Hälfte des vorhandenen Speicherplatzes tatsächlich genutzt werden kann)
- Ethernet Interface 100Mbit - Realtek 8129/8139 - PCI - oder anderes kompatibles Interface
- Ethernet Interface 10Mbit - NE2000 kompatibel - PCI
- Parallele Schnittstelle und Drucker
- CD-ROM-Laufwerk oder NFS-Server im LAN als Installationsquelle
- FDD falls kein CD-ROM-Laufwerk vorhanden oder dieses nicht bootfähig ist bzw.
wenn man die Datei fileserv.sel
per Diskette einlesen möchte
Den Rechner von der 2. CD starten. Ist es nicht möglich von CD-ROM zu
starten muss zuvor unter DOS/Windows9x eine Startdiskette erstellt werden. Dazu
das Programm setup.exe
von der 1. CD starten und den Anweisungen
folgen. Dann von dieser Diskette starten. Es wird die Installation gestartet.
Sprache, Bildschirm und Tastatur auswählen. Kernelmodule automatisch laden oder,
falls dies nicht möglich ist, Kernelmodule manuell laden (NE2000-Karten lassen
sich normalerweise ohne Probleme manuell laden). Installation/System
starten
und dann Installation/Update starten
auswählen.
Jetzt muss das Quellmedium ausgewählt werden, normalerweise ist dies das
CD-ROM-Laufwerk (z.B. /dev/hdb für ein Laufwerk als Slave am 1. IDE-Kontroller
oder /dev/scd2 für ein SCSI-Laufwerk mit der ID 2). Mann kann aber natürlich
auch über FTP oder NFS usw. installieren. Die folgenden Einstellungen
entsprechend vornehmen. Unbedingt Yast1 als Yast-Version und die
Installation im Expertenmodus
auswählen. Danach die Festplatte
partitionieren
:
Auf /dev/hda
(Primary Master): eine ca. 10MB grosse primäre Partition
vom Typ Linux Native
, eine ca. 400MB grosse primäre Partition vom Typ
Linux SWAP
und eine weitere, min. 1GB grosse primäre Partition vom Typ
Linux Native
anlegen.
Auf /dev/hdb
(Primary Slave): zwei je 5GB grosse primäre Partitionen
vom Typ Linux Native
anlegen.
Auf /dev/hdc
(Secondary Slave): eine 25GB grosse und eine 5GB grosse
primäre Partition vom Typ Linux Native
anlegen.
Anm.:
Die zweite Partition auf /dev/hdb
sollte ungefähr genau so gross sein
wie die zweite Partition auf /dev/hdc
da diese beiden Partitionen
später den Raid1-Verbund bilden und dieser nur so gross ist wie die kleinste der
beiden dafür genutzten Partitionen, wenn eine der Partitionen grösser ist
als die andere wird der zusätzliche Platz nicht genutzt.
Die Ziel-Partition/Dateisysteme
wie folgt
festlegen:
Device Mountpoint
hda1 /boot
hda3 /
hdb1 /upload
hdc1 /public
hdb2
und hdc2
werden nicht gemountet. Die einzelnen
Partitionen, auf Wunsch mit Prüfen, formatieren, soweit nicht Daten vorhanden
sind die weiter genutzt werden sollen, zumindest hda1
und hda3
sollten formatiert werden.
Jetzt die
Installation festlegen, dazu die Konfiguration von Diskette laden (siehe
Vorbereitung
) oder falls kein Diskettenlaufwerk zur Verfügung steht
mittels der ausgedruckten Konfigurationsdatei die Pakete manuell
(de-)selektieren, am einfachsten funktioniert dies wenn man zuvor das SuSE
Minimal System
lädt. Wenn der Installationsumfang festgelegt wurde die
Installation starten
. Zuletzt in das Hauptmenü
wechseln und
die Installation abschliessen
bzw. Yast beenden
. Es muss noch
der Kernel ausgewählt werden, bei obiger Hardwarekonfiguration wird der
Pentium optimierte
Kernel verwendet. Danach wird der LILO
konfiguriert, als Ziel den Master-Boot-Sektor
und als Wartezeit 5
Sekunden einstellen, dies ist lange genug um, falls notwendig, eine Auswahl zu
treffen, dauert aber nicht zu lange wenn der Rechner z.B. ohne Tastatur und ohne
Bildschirm gestartet wird, also keine Eingabe möglich ist. Der Name der
Konfiguration ist frei wählbar, ich benutze normalerweise suse
, dann
weiss ich im Falle eines missglückten Kernelupdates o.ä. definitiv welcher der
SuSE Kernel ist. Die zu bootende (Root-) Partition
ist bei obiger
Partitionierung und Zuweisung der Ziel-Partition /dev/hda3
. Der Kernel
ist /boot/vmlinuz
. Die Einstellungen bzgl. der Zeitzone usw. erklären
sich von selbst. Dem Rechner muss natürlich ein Rechnername
und ein
Domainname
gegeben werden, diese Namen sind ebenfalls frei zu vergeben.
Das Netzwerk als echtes Netzwerk
konfigurieren, als IP-Adresse muss
eine Adresse aus dem für private Netzwerke reservierten Bereich vergeben werden,
z.B. 192.168.1.1. Als Default-Gateway
wird die Adresse des
Gateway
, z.B. 192.168.1.2 eingetragen. Die Frage ob inetd
,
Portmapper
und NFS-Server
gestartet werden sollen mit ja
beantworten. Es muss dann der DNS-Server eingetragen werden, dabei darauf achten
dass in der unteren Zeile die zuvor vergebene lokale Domain eingetragen ist
damit Hostnamen innerhalb dieser Domain nicht vom DNS-Server aufgelöst werden.
Bei der Sendmail Konfiguration Rechner mit permanenter Netzanbindung
auswählen. Zuletzt muss das Root-Paswort vergeben werden, siehe
Passworte
. Danach wollen noch
Maus und Modem eingerichtet werden, dies einfach abbrechen. Ggf. restliche
Pakete installieren. Das Basissystem steht. Jetzt ist ein guter Zeitpunkt den
Rechner neu zu starten und im BIOS lediglich den Start von Festplatte
einzutragen, dies verhindert dass, evtl. auch versehentlich, von Diskette bzw.
CD-ROM gestartet wird.
Die zuvor von SuSE heruntergeladenen Updates einspielen (siehe
Software
). Dazu mittels init 1
den Runlevel wechseln und Yast
aufrufen (yast
eingeben) -> Installation festlegen/starten
->
Pakete einspielen
-> die Quelle auswählen -> in das Verzeichnis
wechseln in dem sich die Updates befinden. Nur die Updates einspielen deren
«veraltete» Versionen bereits installiert sind. Ist ein Paket bereits
installiert, die Version unterscheidet sich jedoch von der neuen Datei, ist in
den eckigen Klammern ein o
eingetragen, ist die Version identisch ist
ein i
eingetragen. Die Pakete die mit o
gekennzeichnet sind
zur Installation markieren und diese dann durchführen. /sbin/lilo
aufrufen. Da einige Pakete aktualisiert werden die zum Basis-System gehören nach
der Installation den Rechner neu starten.
In einem Software RAID1-Verbund werden zwei Partitionen zu einem Device
zusammengefasst (/dev/md0 - /dev/mdx
) das sich wie eine normale
Partition ansprechen lässt. Der Vorteil ist die Ausfallsicherheit, fällt eine
der beiden Partitionen aus sind auf der anderen Partition die Daten weiterhin
erhalten, ersetzt man die defekte Partition durch eine entsprechend vorbereitete
neue Partition werden automatisch auf der neuen Partition die Daten
rekonstruiert bis sich wieder auf beiden Partitionen dasselbe befindet wobei
auch mit nur einer der beiden Partitionen weiterhin gearbeitet werden könnte.
Der Nachteil ist dass man nur die Hälfte des physikalisch vorhandenen Speichers
nutzen kann, da ja auf beiden Partitionen dasselbe gespeichert ist. Da
normalerweise nicht die Partition selbst sondern die Festplatte physikalisch
beschädigt wird macht ein RAID1-Verbund nur Sinn wenn sich die beiden
Partitionen auf unterschiedlichen Festplatten befinden. In unserem File-Server
sind deshalb /dev/hdb2
und /dev/hdc2
dafür vorgesehen.
Da der SuSE-Kernel für die alten mdutils
kompiliert ist, diese Tools
jedoch verhältnismässig lange nicht mehr weiterentwickelt werden und nur bis
Version 0.5 vorliegen sollte ein neuer Kernel mit Unterstützung für die neueren
und auch für Kernel 2.4 tauglichen raidtools
in der Version 0.90
kompiliert werden. Dazu werden die Kernelquellen linux-2.2.16.tar.gz
zum Kernel 2.2.16, die Kernelpatches raid-2.2.16-A0
,
bridge-0.0.6-against-2.2.16.diff
und die Konfigurationsdatei
file_server_raid_bridge
(siehe
Software
) benötigt.
Möchte man die alten mdutils
verwenden muss man die raidtools
zunächst deinstallieren und die mdutils
installieren. Die Konfiguration
bzw. Installation des neuen Kernels und LILO
überspringen.
Die Kernelquellen nach /usr/src/linux-2.2.16/
entpacken. Den Link /usr/src/linux/
der auf
/usr/src/linux-2.2.16.SuSE/
zeigt ändern, er muss auf
/usr/src/linux-2.2.16
zeigen. Nach /usr/src/
wechseln und den
Kernel für RAID und Bridge patchen: patch -p0 < raid-2.2.16-A0
und
patch -p0 < bridge-0.0.6-against-2.2.16.diff
ausführen. Nach
/usr/src/linux/
wechseln, die Konfiguration explizit festlegen und den
Kernel bzw. die Module kompilieren:
make mrproper
make menuconfig
(Hier die Konfigurationsdatei file_server_raid_bridge laden und danach
Gerätetreiber unter
- Processor type and features
- Block devices
- SCSI support -> SCSI lowl-level-drivers
- Network device support
auswählen)
make dep
make bzImage
make modules
make modules_install
Die Datei /usr/src/linux/arch/i386/boot/bzImage
nach
/boot/kernel-2.2.16-raid-bridge
kopieren.
Die Datei /etc/lilo.conf
editieren: Über die Zeile
image = /boot/vmlinuz
folgendes eintragen:
image = /boot/kernel-2.2.16-raid-bridge
root = /dev/hda3
label = raid-bridge
/sbin/lilo
aufrufen.
Der neue Kernel kann jetzt als Bootkonfiguration raid-bridge
beim
booten ausgewählt werden bzw. wird automatisch default geladen wenn wie oben
beschrieben der Eintrag für die Konfiguration raid-bridge
in der Datei
/etc/lilo.conf
über der Konfiguration suse
steht.
Den Rechner neu starten und depmod -a
aufrufen.
Jetzt wird das RAID-Device konfiguriert: Mittels touch /etc/raidtab
und
chmod 0644 /etc/raidtab
die Konfigurationsdatei anlegen und die Rechte
korrekt setzen. In diese Datei folgendes eintragen:
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hdb2
raid-disk 0
device /dev/hdc2
raid-disk 1
Mittels fdisk
den Partitionstyp der beiden Partitionen hdb2
und hdc2
auf den Typ 0xFD setzen: fdisk /dev/hdb
eingeben,
t
ausählen, die Nummer der Partition, also 2
und den Code des
Partitionstyps angeben: fd
. Mittels w
die Änderungen auf die
Platte eintragen. Diesen Vorgang für die zweite Partition wiederholen: fdisk
/dev/hdc
starten und wie oben vorgehen.
Das RAID-Device /dev/md0
mittels mkraid /dev/md0
anlegen und
den Rechner neu starten. Das Device /dev/md0
ist ab sofort wie eine
«normale» Partition zu nutzen. Zunächst muss das Device formatiert werden:
mke2fs /dev/md0
.
Anm.:
Bitte
abwarten bis beide Partitionen synchronisiert wurden. Die Synchronisation wird
nach dem Anlegen des Devices automatisch gestartet. Wenn dieser Vorgang z.B.
durch den Neustart des Rechners unterbrochen wird wird die Synchronisation nach
dem Start von vorne begonnen. Der Status ist mittels cat /proc/mdstat
zu beobachten, der Wert hinter resync
zeigt ihn in Prozent an.
Ist der Punkt resync
nicht aufgeführt ist die Synchronisation bereits
abgeschlossen. Wird nicht gewartet bis die Synchronisation abgeschlossen ist
und versucht das Device zu formatieren kann sich der ganze Rechner aufhängen!
Da dieser RAID1-Verbund für die Home-Verzeichnisse benutzt werden soll folgendes
in /etc/fstab
eintragen:
/dev/md0 /home ext2 defaults 1 2
und mount /home
ausführen.
Benutzer werden wie folgt angelegt: Yast
-> Administration des
Systems
-> Benutzerverwaltung
. Die benötigten Accounts anlegen.
Auch hier gute Passwörter wählen, siehe
Passworte
.
Wenn man «sicher» gehen
möchte ändert jeder Benutzer sein Passwort direkt nach dem ersten Login, wenn
dann
cracklib
benutzt wird, werden automatisch zu schwache Passwörter
herausgefiltert.
Zusätzlich zu den «normalen» Benutzern wird noch ein Account
admin
angelegt der als einziger Schreibrechte auf /public/
hat, dadurch verhindert man dass man sich als root
einloggen muss um
Änderungen vorzunehmen und trotzdem ist sichergestellt dass dort keine
ungewollten Änderungen vorgenommen werden. Ausserdem wird ein Benutzer
voice-fax
angelegt, dieser Account dient ausschliesslich als
Mail-Account, dieser Benutzer bekommt vom
Gateway
die mittels
capircvd
empfangenen Faxe und angenommenen Anrufe per Mail zugestellt.
Wenn man für die einzelnen Benutzer bzw. Gruppen Limits bzgl. der
Festplattennutzung vergeben möchte muss man entsprechend Quotas einrichten.
Zunächst in /etc/fstab
eintragen dass das entsprechende Device mit
Unterstützung für Quota gemountet wird. Dazu z.B. folgende Zeile abändern wenn
man für die Home-Verzeichnisse Benutzer-Quotas vergeben möchte:
/dev/md0 /home ext2 defaults 1 2
zu
/dev/md0 /home ext2 defaults,usrquota 1 2
Entsprechend für Gruppen-Quotas:
/dev/md0 /home ext2 defaults,grpquota 1 2
Es können auch Benutzer- und Gruppen-Quotas gleichzeitig genutzt werden, dann
usrquota
und grpquota
durch ein Komma getrennt eintragen.
Danach mittels mount /home -o remount
das Device neu
mounten, mittels mount
sollte dargestellt werden dass die Unterstützung
aktiviert wurde. Alternativ kann man natürlich auch den Rechner neu starten.
quotacheck -avug
durchführen, jetzt können mittels edquota -u
benutzer
bzw. edquota -g gruppe
die Limits eingerichtet werden. Es
kann ein sogenanntes Soft- und Hardlimit eingerichtet werden, wird das Softlimit
erreicht wird der Benutzer gewarnt dass er das Limit erreicht hat, der Benutzer
hat jedoch bis zum Erreichen des Hardlimits einen Spielraum eingeräumt, dieser
ist jedoch nur bis Ablauf der Grace Period
verfügbar. Die Grace
Period
wird mittels edquota -t
eingerichtet. Das Hardlimit kann
nicht überschritten werden. Wird als Limit 0
angegeben ist ist kein
Limit gesetzt.
Man kann ein Limit für Blöcke und für Inoden vergeben, Blöcke entspricht dem Speicherplatz, Inoden entspricht der Anzahl der Dateien.
Da mittels edquota
der Standard-Editor
aufgerufen wird und dies ohne andere Konfiguration der vi
ist sind hier
einige Leute vor ein Problem gestellt da dieser nicht intuitiv benutzt werden
kann. Deshalb eine kleine Hilfe:
Um etwas zu editieren i
drücken, hierdurch wird der
INSERT
-Modus aktiviert, jetzt kann man Veränderungen durchführen. Den
INSERT
-Modus kann man mittels STRG+C
beenden. Um die Datei zu
schliessen und abzuspeichern einen Doppelpunkt
, dann wq
eingeben und mit RETURN
bestätigen. Um die Datei ohne Speichern zu
beenden einen Doppelpunkt
, dann qa!
eingeben und mit
RETURN
bestätigen.
Mittels quotaon -avug
bzw. quotaoff -avug
kann die
Unterstützung für Quotas ein- bzw. ausgeschaltet werden. Um die Unterstützung
nach dem Starten automatisch zu starten in /etc/rc.config
folgendes
ändern:
START_QUOTA="no"
zu
START_QUOTA="yes"
Danach SuSEconfig aufrufen.
Wenn man zwei Netzwerksegmente miteinander verbinden möchte benötigt man normalerweise zusätzliche Hardware wie eine Switch. Dies ist eigentlich kein Problem, schliesslich werden verschiedene Netzwerksegmente hauptsächlich in grösseren Netzwerken benötigt, hier sollte es möglich sein solche Hardware zu kaufen. Wenn man aber sein privates Netzwerk in verschiedene Segmente aufteilen und diese dann doch wieder miteinander verbinden möchte ist eine solche Switch einfach zu teuer. Warum möchte man das machen? Z.B. wenn man Rechner die mit unterschiedlichen Netzwerkinterfaces ausgestattet sind miteinander verbinden möchte, bei mir ist z.B. ein Rechner (der HP-UX-Client) mit einem 10Mbit BaseT Netzwerkinterface ausgestattet während das restliche Netzwerk mit 100Mbit TX Netzwerkinterfaces ausgestattet ist, d.h. die Verbindung kann physikalisch nicht aufgebaut werden. Um trotzdem alle Rechner in das Netzwerk zu integrieren wird der File-Server als Bridge eingerichtet. Dazu sind in dem Rechner zwei Netzwerkinterfaces eingesetzt, ein 100Mbit TX und ein 10Mbit BaseT Interface.
Wenn der Kernel noch nicht wie unter
RAID1
beschrieben kompiliert
wurde dieses incl. der LILO-Konfiguration nachholen und den Rechner mit dem
neuen Kernel starten. Die beiden Netzwerkinterfaces wie folgt einrichten:
Yast
-> Administration des Systems
-> Hardware in System
integrieren
-> Netzwerkkarte konfigurieren
-> für eth0
und eth1
die entsprechenden Treiber auswählen, mittels Esc
ein Menü zurück gehen -> Netzwerk konfigurieren
-> Netzwerk
Grundkonfiguration
-> für beide Devices eine IP-Adresse vergeben (für
eth0
192.168.1.1 und für eth1
192.168.1.4), den
Gateway
auf 192.168.1.2 einstellen. Beide Devices aktivieren.
Das Paket bridge-utils-0.9.1-1.i386.rpm
mittels
rpm -Uvh bridge-utils-0.9.1-1.i386.rpm
installieren, danach
SuSEconfig
ausführen.
Die Datei bridge
(siehe
Software
) nach
/sbin/init.d/
kopieren und mittels chmod 0744
/sbin/init.d/bridge
die Zugriffsrechte setzen. Ggf. überprüfen ob die
Einträge in /sbin/init.d/bridge
mit den eingerichteten Rescourcen des
Servers übereinstimmen.
Den Rechner neu starten, mittels /sbin/init.d/bridge start
kann die
Bridge gestartet bzw. mittels /sbin/init.d/bridge stop
gestoppt werden.
Den Status der Bridge kann man mittels /sbin/init.d/bridge status
anzeigen lassen.
Um die Bridge nach dem Rechnerstart automatisch zu starten folgende
Links anlegen: ln -s ../bridge /sbin/init.d/rc2.d/K15bridge
und ln
-s ../bridge /sbin/init.d/rc2.d/S70bridge
.
Eine Bridge ist normalerweise ein transparenter Teil des Netzwerks, d.h. sie hat
keine eigene IP-Adresse. Wenn der Rechner aber nicht nur als Bridge eingesetzt
wird oder über das Netzwerk zu administrieren sein soll benötigt er trotzdem
eine IP-Adresse. Wenn das Skript /sbin/init.d/bridge
nicht entsprechend
geändert wurde wird der Bridge die IP-Adresse 192.168.1.1 zugewiesen, alle
Interfaces die der Bridge hinzugefügt wurden (in diesem Fall eth0
und
eth1
) lassen sich über diese IP-Adresse ansprechen.
Um anderen Linux-Clients den Zugriff auf Verzeichnisse zu geben wird
der Rechner als NFS-Server eingerichtet. In /etc/rc.config
ist alles
korrekt eingetragen wenn bei der Installation wie oben vorgegangen
wurde. Es muss noch angegeben werden welchen Rechnern Zugriff auf welche
Verzeichnisse gewährt wird, ob Schreibzugriff möglich ist oder ob nur gelesen
werden darf usw.. Dazu in die Datei /etc/exports
folgendes eintragen:
/home 192.168.1.101(rw,root_squash)
/daten 192.168.1.101(rw_root_squash) 192.168.1.2(ro,root_squash)
/temp 192.168.1.101(rw,root_squash) 192.168.1.2(rw,root_squash)
Hier wird dem Client 192.168.1.101 Schreib- und Lesezugriff auf /home
,
/daten
und /temp
gegeben. Der Client 192.168.1.2 hat nur auf
/temp
Schreib- und Lesezugriff und auf /daten
nur Lesezugriff.
Ausserdem muss in /etc/hosts.deny
eingetragen werden:
portmap: ALL
und in /etc/hosts.allow
:
portmap: 127.0.0.0/255.0.0.0 192.168.1.0/255.255.255.0
Damit die Änderungen wirksam werden /sbin/init.d/nfsserv restart
ausführen.
Anm.: Wenn der Kernel nicht neu kompiliert wurde (siehe
RAID1
) und der NFS-Server nicht richtig funktioniert mittels Yast
das Paket nfsserv
durch das Paket knfsd
ersetzen und den
Rechner neu starten.
Um nicht nur Verzeichniss sondern auch die Benutzer- und Passwort-Datenbank zu
exportieren wird der Rechner als NIS-Server eingerichtet. Hierzu in
/etc/rc.config
folgendes ändern:
START_YPSERV="no"
START_YPPASSWDD="no"
zu
START_YPSERV="yes"
START_YPPASSWDD="yes"
und folgenden Eintrag hinzufügen:
YP_DOMAINNAME="domain"
wobei domain
durch den Namen der lokalen Domain ersetzt wird.
Wichtig ist das tatsächlich nur die Domain- und nicht der Host-Name angegeben
wird. zusätzlich in /etc/hosts.deny
ypserv: ALL
und in /etc/hosts.allow
ypserv: 127.0.0.0/255.0.0.0 10.0.0.0/255.0.0.0 \
192.168.1.0/255.255.255.0
eintragen damit nur Rechner mir einer IP-Adresse 192.168.1.x als NIS-Client Zugriff auf die Passwort-Datenbank haben.
SuSEconfig
aufrufen und den Rechner neu starten. Dann
/usr/lib/yp/ypinit -m
aufrufen, kontrollieren ob die Einstellungen OK
sind und mit STRG+D
und y
bestätigen. Danach mittels
/sbin/init.d/ypserv restart
den NIS-Server neu starten.
Um Windows-Clients den Zugriff auf Verzeichnisse und Drucker zu geben wird Samba
entsprechend konfiguriert und gestartet. Dazu in /etc/smb.conf
folgendes eintragen:
[global]
workgroup = Arbeitsgruppe
# Name der Arbeitsgruppe
guest account = nobody
os level = 2
security = server
printing = bsd
printcap name = /etc/printcap
load printers = yes
# yes wenn Drucker freigegeben werden sollen
socket options = TCP_NODELAY
map to guest = Bad User
interfaces = 192.168.1.1/255.255.255.0
# Die IP-Adresse des Interfaces über das
# Samba laufen soll, sollen mehrere
# Interfaces genutzt werden
# durch ein Leerzeichen getrennt anfügen
wins support = yes
logon script =%U.bat
domain logons = yes
domain master = yes
server string = Samba %v on %h
# Beschreibung des Servers,
# %v gibt die Version und %h den Hostnamen aus
encrypt passwords = yes
[homes]
# hier werden die home-Verzeichnisse freigegeben
comment = Home-Verzeichnis auf %h
# Beschreibung des Shares, wie server string
browsable = no
# der jeweils angemeldete Benutzer
# sieht nur sein home-Verzeichnis
read only = no
create mode = 0600
[printers]
# entfaellt wenn unter [global] load printers = no
comment = Drucker auf %h
# s.o.
browsable = no
printable = yes
public = yes
# auch Gaeste haben Zugriff
read only = yes
create mode = 0700
directory = /tmp
# wenn nur bestimmte Benutzer Zugriff
# erhalten sollen wie folgt eintragen:
# valid users = tux, linus
Jetzt müssen noch die Sektionen der einzelnen Shares, also freigegebenen Verzeichnisse, angegeben werden, hierbei erscheint das Share in der Windows Netzwerkumgebung wie es in den eckigen Klammern benannt wird:
[upload]
comment = Temporaeres Verzeichnis
path = /upload
browsable = yes
guest ok = yes
read only = no
create mode = 0644
[public]
comment = File-Server
path = /public
browsable = yes
guest ok = yes
read only = yes
write list = admin
create mode = 0644
Hiermit werden zwei Shares freigegeben: upload
und public
.
upload
ist für alle Benutzer und Gäste freigegeben, alle Benutzer haben
Lese- und Schreib-Zugriff. public
ist ebenfalls für alle Benutzer und
Gäste freigegeben, allerdings hat nur der Benutzer admin
Schreib-Zugriff. Dieser Benutzer sollte eigens hierfür angelegt sein, siehe
Benutzerverwaltung
.
Damit die Änderungen wirksam werden mittels /sbin/init.d/smb restart
Samba neu starten. Damit Samba nach jedem Neustart automatisch gestartet wird
folgendes in /etc/rc.config
ändern:
START_SMB="no"
zu
START_SMB="yes"
Danach SuSEconfig
aufrufen.
Um verschlüsselte Passworte nutzen zu können das Skript
/sbin/mksmbpasswd.sh
anlegen: touch /sbin/mksmbpasswd.sh
und
danach chmod 0744 /sbin/mksmbpasswd.sh
ausführen. In diese Datei
folgendes eintragen:
#!/bin/sh
awk 'BEGIN {FS=":"
printf("#\n# SMB password file.\n#\n")
}
{ printf( "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: \
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: \
%s:%s:%s\n", $1, $3, $5, $6, $7) }
'
Danach cat /etc/passwd | /sbin/mksmbpasswd.sh > /etc/smbpasswd
und
chmod 0600 /etc/smbpasswd
ausführen. Die Passworte der einzelnen
Benutzer mittels /usr/bin/smbpasswd -Ubenutzer
vergeben, danach können
die Benutzer die Passworte selbst mittels smbpasswd
ändern.
Möchte man Drucker an den Server anschliessen und diese dann freigeben wie folgt
vorgehen: /var/lib/apsfilter/SETUP
aufrufen, mit RETURN
bestätigen -> ENTRY
-> DEVICE
-> Parallel
, das Device
angeben: lp0-2 -> PRINTER
, den verwendeten Drucker auswählen und
die Auflösung einstellen, evtl. einen Namen vergeben -> PAPER
,
Papierformat einstellen -> Color
-> ADD
-> Bestätigen bis das
Setup geschlossen wird. Mittels lpr /etc/HOSTNAME
sollte der Host-Name
des Rechners gedruckt werden.
Wenn mehrere Drucker angeschlossen oder aus anderen Gründen
mehrere parallele Schnittstellen genutzt werden sollen müssen diese in
/etc/modules.conf
eingetragen werden. Folgende Zeile entsprechend
abändern:
options parport_pc io=0x378 irq=none,none
oder durch diese ersetzen:
options parport_pc io=0x378,0x278 irq=none,none
Wenn hier Änderungen vorgenommen wurden muss der Rechner neu gestartet werden.
Es müssen für das parallele Device, also /dev/lp0-2
, die Zugriffsrechte
mittels chmod 0622 /dev/lp0-2
korrekt gesetzt werden.
Im Gegensatz zu der allgemein gültigen Aussage bzgl. Unnötige bzw. unsichere Dienste deaktivieren bleiben auf dem File-Server folgende Dienste aktiv:
time
, login
und pop3
.
Die entsprechenden Zeilen nicht auskommentieren.
Auch wenn man z.B. einen Raid-Verbund angelegt hat sollte man nicht auf
regelmässige Backups verzichten, was nützt das ausfallsicherste System wenn man,
warum auch immer, als Root z.B.rm /home/ -R
eingibt? Man kann natürlich
manuell die wichtigsten Daten sichern, hier wird jedoch ein Skript vorgestellt
mittels dem man entsprechende Verzeichnisse, egal wie gross, in Images sichert
die man bequem auf CD brennen kann:
Mittels touch backup.sh
und chmod 0744 backup.sh
die Datei
anlegen und ausführbar machen.
Folgendes in die Datei eintragen:
#!/bin/bash
SOURCE=/home
# Verzeichnis welches gesichert werden soll
TARGET=/daten/home.backup
# Verzeichnis in dem das Backup gespeichert werden soll
# Das Verzeichnis muss manuell angelegt werden!
LOG=/var/log/backup.log
# Dateiname fuer die Log-Datei angeben
CDSIZE=700000
# Groesse der einzelnen Images angeben, z.B. wenn sie hinterher
# auf CD gebrannt werden sollen, z.B. 700000 fuer 700MB Rohlinge
# Altes Backup loeschen
rm $TARGET/image.*
# Backup erstellen
date >> $LOG
dump -9M -B $CDSIZE -f $TARGET/backup $SOURCE
# ISO Image(s) erstellen
cd $TARGET
for i in $( ls backup* ); do
mkisofs -r -o $TARGET/image.$i $TARGET/$i
rm $i
done
# Berechtigungen auf 'Nur Lesen' setzen
chmod 0400 $TARGET/image.*
echo "From Backup-Script@"$HOSTNAME
echo "The following backup(s) exist(s) now:"
dir $TARGET/image.*
Dieses Skript z.B. nach /etc/cron.weekly/
kopieren um es wöchentlich
ausführen zu lassen, dann kann man unter der Woche die zuletzt angelegten
Backups bei Gelegenheit brennen.
Im Fall der Fälle kann mittels restore rf /cdrom/image.001
das Image
zurück gespielt werden (vorrausgesetzt das Image befindet sich auf der
gemounteten CD). Bitte beachten dass der aktuelle Inhalt des entsprechenden
Verzeichnisses komplett auf den alten Zustand zurück gesetzt wird, wenn also nur
Teile beschädigt wurden und neuere Daten erhalten bleiben sollen diese zunächst
temporär sichern und hinterher manuell zurückspielen. Wenn sich das Backup über
mehrere CDs erstreckt wird man automatisch dazu aufgefordert die nächste CD
einzulegen.
Wenn man den Kernel 2.4.1 statt des Kernel 2.2.16 verwenden möchte diesen wie
unter
RAID1
beschrieben kompilieren und LILO entsprechend einrichten,
natürlich die Kernelguellen linux-2.4.1.tar.gz
statt
linux-2.2.16.tar.gz
nach /usr/src/linux-2.4.1/
entpacken und
den Link /usr/src/linux/
entsprechend abändern. Die Kernelquellen
brauchen nicht gepatcht werden. Die Konfigurationsdatei
file_server_raid_bridge
für den Kernel 2.4.1 verwenden.
Nachdem der Rechner neu gestartet wurde depmod -a
aufrufen.
Falls neue Treiber z.B. für Ethernet-Interfaces benutzt werden sollen zunächst
mittels Yast einen vorhandenen Treiber auswählen, z.B. den für NE-2000
kompatible PCI-Karten, und danch den Eintrag in /etc/modules.conf
entsprechend ändern, möchte man z.B. den Treiber für Winbond-840 Chipsätze
verwenden folgendes ändern:
alias eth0 ne2k-pci
zu
alias eth0 winbond-840
Der Name des entsprechenden Moduls ist unter
/lib/modules/2.4.1/kernel/drivers/net/
zu finden, die letzen beiden
Zeichen (.o) nicht angeben.
Falls die Module nicht geladen werden bzw. nicht gefunden werden können
folgenden Link anlegen: ln -s /lib/modules/2.4.1/kernel/drivers/net/
/lib/modules/2.4.1/net
Falls das Modul bridge
nicht geladen werden kann bzw.
/sbin/init.d/bridge start
fehlschlägt, folgenden Link anlegen: ln
-s /lib/modules/2.4.1/kernel/net/bridge/bridge.o
lib/modules/2.4.1/misc/bridge.o
. Ggf. vorher das Verzeichnis misc
anlegen: mkdir /lib/modules/2.4.1/misc
.
Nicht vergessen die unter Allgemein aufgeführten Einstellungen vorzunehmen, wie z.B. die Tripwire -Datenbank zu initialisieren!