16.09.2023

Linux System

Linux Tastenkombinationen
Konfigurations-Dateien und Verzeichnisse unter Linux
System Anpassung
Systemreparatur
Bootmanager - Grub2/Grub/LiLo
Hardwareerkennung
Paket-Verwaltung
Init-System SysV-Init, Systemd, Upstart, Busybox u.a.
System Protokollierung - syslog
PAM Zugriffssteuerung
Admin-Rechte-Steuerung
Kernel 2.4 | 2.6
Linux Intrusion Detection System (LIDS)
User Mode Linux UML
Dateisysteme
Drucken unter Linux
Sound konfigurieren
Partition kopieren
IPX Protokoll
SoftwareRAID
Netzwerk
Bluetooth
X-Server und Desktops
64Bit und 32Bit auf einem System
ACPI System einrichten
Shared Libraries
Linux Console
Jobs mit cron automatisieren
PCMCIA
ISDN und Capi
VNC-Server einrichten
Verschlüsselter Zugriff auf Ressourcen übers Netzwerk
Festplatten Überwachen mit S.M.A.R.T
Linux Systemhilfe richtig verwenden
sudo konfigurieren
Installation aus den Sourcen
SCSI Emulation für ATAPI Geräte einrichten
cloop (Komprimiertes Loopback Device) einrichten
Übersicht ext2 / ext3 Zusatzflags
Versionsverwaltung von Dateien
SSHFS einrichten
Linux unter VMware
sonstiges

Zeichen  
# am Zeilenanfang ist Eingabe von ROOT
$ Kommando kann vom Anwender ausgeführt werden
* Joker alle Dateien
Befehl & Befehl wird im Hintergrund ausgeführt
Seitenanfang

Linux Tastenkombinationen

STRG-S Bootprozess anhalten z.B. um Meldungen zu lesen
STRG-Q Bootprozess fortsetzen
Alt+Druck+S sync
Alt+Druck+U umount
Alt+Druck+B reboot
STRG-Z ein Prozess der im Vordergrund läuft anhalten, den Prozess kann man mit jobs anzeigen lassen.
STRG-ALT-ENTF Linux Herunterfahren
STRG-ALT-Backspace X-Server neu starten
Shift-Strg-Alt-Backspace X-Server beenden
Tab vervollständigt Programm oder Dateiname im Kommandointerpreter
Tab-Tab zeigt eine Auswahl der Programme an
Shift-Bildauf im Kommandointerpreter aufscrollen
Shift-Bildab im Kommandointerpreter abscrollen
Shift-Pfeitasten unter X zwischen Befehlsfenster der Console umschalten
Seitenanfang

Konfigurations-Dateien und Verzeichnisse unter Linux

Filesystem Hierarchy Standard
Wikipedia Filesystem Hierarchy Standard

Der Verzeichnisbaum
/bin Systembefehle für alle Benutzer
/boot Dateien und Programme für den Systemstart, Kernel
/dev Gerätedateien für Hardwarekomponenten
/etc Konfigurationsdateien
/home Privat Verzeichnis der Benutzer
/lib Bibioloteken
/media für Wechseldatenträgen (Floppy, CDROM, Brenner, ua.), Verzeichnis wird durch udev automatisch verwaltet
/mnt Temporäres Mount Verzeichnis für andere Dateisysteme
/opt Optionale Programme meist grössere Softwarepakete
/proc Systemdaten, gestartete Programme
/root Homeverzeichnis Superuser
/sbin Ausführbare Programme meist nur für Superuser
/srv Daten von Diensten
/sys Systemdaten
/tmp temporäre Dateien
/usr User-Programme, X-Windows System, Documentationen
/var variable Daten
Unterverzeichnisse
/usr/src Source Verzeichnis zum entpacken und installieren von Quelldateien
/usr/lib Bibioloteken
/usr/local für Programme die nicht über den Paket-Manager installiert werden
/usr/X11R6 X-Windows System
   
/etc/sysconfig/ Verzeichnis zum speichern von Systemkonfigurationen
   
/var/spool Spoolverzeichnis für Drucker ua.
   

Konfigurationsdateien: Global
/etc/profile Systenkonfiguration nur LoginShell z.B. Prompt, Aliase ...
/etc/profile.d/<datei>.sh Systenkonfiguration nur LoginShell z.B. Prompt, Aliase ...
/etc/bash.bashrc Systenkonfiguration für LoginShell und Terminals unter X z.B. Prompt, Aliase ...
/etc/init.d Init-Scripte (Daemon)
/etc/init.d/rc rc-Script (Daemon)
/etc/init.d/rcS Boot-Scripte
/etc/rc.d/rc.local Scripte am Ende des Systemstartes
/etc/rc.d/rcX.d. Runlevelverzeichnis (Sxx - Startscript, Kxx - Stopscript xx=Zahl von 00 bis 99 je kleiner die Zahl, je eher wird der Script ausgeführt)
/etc/rcX.d. (Debian) Runlevelverzeichnis (Sxx - Startscript, Kxx - Stopscript xx=Zahl von 00 bis 99 je kleiner die Zahl, je eher wird der Script ausgeführt)
/etc/rc.boot (Debian) Scripte die immer beim Start ausgeführt werden
/etc/event.d/ das Upstart-Verzeichnis
/etc/passwd Eintrag der Default-Shell, Passwörter(Root Passwort vergessen S.186)
/etc/shadow wenn nach den Username:*:steht ist der Login gesperrt
/etc/fstab Dateisystem konfiguration
/etc/group Gruppen konfigurieren
/etc/isapnp.conf Konfiguration der ISAPNP-Karten wenn die Datei im /etc Verzeichnis vorhanden ist wird PNP-Karte beim booten initialisiert
/etc/conf.modules ladbare Module im System
/etc/inittab definiert die Runlevel
/etc/mtools Dos emulation Konfiguraionsdatei
/etc/inted.conf INETD Dienst Konfigurationsdatei
/etc/resolv.conf DNS Server Konfigurationsdatei
/etc/hosts.allow TCP-Wrapper steuert den Zugriff auf Rechnern (Host Zugriff erlaubt)
/etc/hosts.deny (Host Zugriff nicht erlaubt)
/etc/X11/XF86Config Speichert die einstellungen des XServers z.B. in der Zeile wird die Auflösung eingestellt
/etc/X11/xinit/xinitrc Systemeinstellungen beim Grafischen-Login
/etc/X11/Xsession (Debian) Startkonfiguration des Display-Managers
/etc/X11/xdm/Xsession Startkonfiguration des Display-Managers
   
/sbin/init.d/boot.local vergleichbar mit Autoexec.bat von Dos
/etc/mtab wird bei jeden start neu erstellt speichert gemountete Dateisysteme
/proc/mounts speichert gemountete Dateisysteme
   
Konfigurationsdateien: User
~/.profile wird beim Login auf der Konsole abgearbeitet, wenn BASH die Loginshell ist
~/.bashrc wird beim starten der Befehlszeile unter X abgearbeitet, wenn BASH die Shell ist.
   
   
   

Runlevel
0 Halt
1 Single User Mode
2 Multiuser ohne exportierte Netzwerkdienste
3 normaler Multiuser
4 wie Level 3
5 Multiuser mit Display Manager
6 Reboot

Wechsel des Runlevel
telinit x oder init x

Anzeigen des Runlevels
runlevel

Bei einem Wechsel des Runlevels werden die STOP Scripte des aktuellen Runlevels aufgerufen und danach die START Scripte des neuen Runlevels ausgeführt.

Runleveleditor
rcconf - Debian
update-rc - Debian
sysv-rc-conf - Deian
ksysv - Grafiktools KDE

Konfigurationsdateien: Userbasis
~/.bashrc Benutzereinstellungen der Systemkonfiguration
~/.bash_profile Systemeinstellungen Textmodus-Login
~/.bash_login Systemeinstellungen der Loginshell beim Start des Rechners
~/.bash_logout Systemeinstellungen der Loginshell beim Beenden des Rechners
~/.profile Systemeinstellungen Textmodus-Login
~/.xinitrc Systemeinstellung Grafischen-Login
~/.  
   

es wird immer erst die Globalen Einstellungen geladen und dann die Usereinstellungen, wenn Unterscheide zwischen den Einstellungen sind, gelten letzendlich die Usereinstellungen.

Seitenanfang

Linux Intrusion Detection System (LIDS)

Installation von LIDS
Test des Patches
1. cd /usr/src/linux
Test des Patches
2. patch --dry-run -p1 < /PATH/lids-1.1.2-2.4.21.patch
Ausführen des Paches
3. patch -p1 < /PATH/lids-1.1.2-2.4.21.patch

Konfiguration des Kernels
Linux Intrusion Detection System --->
[*] Linux Intrusion Detection System support (EXPERIMENTAL)
[*] Security alert when execing unprotected programs before sealing LIDS
oder in der .config
CONFIG_LIDS=y
CONFIG_LIDS_SA_EXEC_UP=y

- für Kernel 2.6 noch
CONFIG_LIDS_NF_MARK=y

Bei bedarf kann noch aktiviert werden, um E-Mails direkt von Kernel aus zu versenden, wenn ein Verstoss gegen eine Sicherheitsrichtlinie aufgetreten ist. Der E-Mail Empfänger muss dann in /etc/lids/lids.net eingetragen werden. Auch die Ausgabe des Portscan-Detectors können auf einen externen Loghost ausgegeben werden.
[*] Send security alerts through network
oder in der .config
CONFIG_LIDS_SA_THROUGH_NET=y

sonst alle Standardeinstellungen lassen.

LIDS Tools übersetzen
1. cd lids/lids-1.1.2-2.4.21/lidstools
für Debian gibt es unter unstable ein Paket das auch in stable installiert werden kann.
für Hilfe /usr/share/doc/lidstools-2.4/README.Debian lesen
als erstes muss ein Passwort für LIDS gesetzt werden mit "lidsconf -P"

- in der Datei /etc/lids/lids.ini kann man den Lernmodus mit den Eintrag ACL_DISCOVERY=1 aktivieren, der Patch muss das aber auch unterstützen. Nach dem ausführen aller Befehle die benötigt werden, denn REchner neu starten, am besten ohne LIDS, dann kann manmit dem Script lids_acl_discovery.pl die Konfigurationsdatei vonLIDS neu erzeugen.
- in der /etc/lids/lids.net kann man einen E-Mail Empfänger definieren der Nachrichten erhält wenn ein ALARM aufgetreten ist.

LIDS Konfigurieren
Debian Besonderheiten
/sbin/lidsadm -I wird in einem Scrpt unter /etc/init.d/lidtools-x.xx gestartet
/etc/rcS.d Link auf /etc/init.d/lidtools-x.xx

lids.cap Man kann durch editieren dieser Datei entscheiden welche Capability man auf dem System aktivieren oder deaktivieren will. Man entweder ein "+" zum einschalten oder ein "-" zum abschalten der Capability nehmen. + erlaubt den Zugriff (allow), - verbietet den Zugriff (deny), die Ausnahmen zu den Regeln werden dann mit lidsconf definiert.Für ein sicheres System am besten Deny all - allow some, also vor denn Caps ein - Zeichen und die Ausnahmen definieren.
lids.net Datei deint der Konfiguration um einen Alarm durch das Netzwerk auszuloesen. Man kann den SMTP Server, Port, Subject usw. einstellen.
[*] Send security alerts through network

Beispiel lids.net
MAIL_SWITCH=1

# MAIL_RELAY=hex IP:port
# IP11.1 of the machine that will be directly connected by LIDS
# for relaying its mails. Port is usually 25, but who knows...

MAIL_RELAY=210.73.88.149:25
# MAIL_SOURCE=source machine :
# Name of the source machine, used for the ehlo identification.
# Note that a bad name here could make the mail relay refuse your
# mails.
MAIL_SOURCE=lids.chinacluster.com

lids.pw Diese Datei wird gebraucht um das Passwort, dass mit "lidsadm -P" generiert wird zu speichern. Es ist notwendig wenn der Kernel damit konfiguriert wurde
[*] Allow switching LIDS protections
" lidsadm -P" Passwort vor dem Start mit dem LIDS Kernel setzen

Die wichtige Capabilitiess
CAP_NET_BIND_SERVICE bindet Ports unterhalb 1024
CAP_NET_ADMIN regelt Zugriff auf die Netzwerkkonfiguration
CAP_SYS_MODULE kontrolliert das Einfügen / Laden von Modulen
CAP_SYS_RAWIO erlaubt direkten RAW-Zugriff auf Platten / Speicher usw.
CAP_SYS_ADMIN kontrolliert Zugang zu vielen Admineinstellungen
CAP_HIDDEN versteckt Prozesse vor Tools wie ps oder top
CAP_KILL erlaubt das Versenden von Signalen an andere Prozesse
CAP_PROTECTED schützt Prozesse vor Signalen
CAP_KILL_PROTRCTED gestattet das Senden von Signalen an geschützte Prozesse
CAP_SETGID erlaubt Änderung der Group-ID
CAP_SETUID ermöglicht wechsel der User-ID

lidsconf -P Root Passwort für LIDS setzen (darf nicht mit Root Passwort identisch sein)
lidsconf -Z
lidsconf -Z BOOT
lidsconf -Z POSTBOOT
lidsconf -Z SHUTDOWN
löscht alle vier Listen in der lids.conf (am einfachsten über einen Script in dem dann auch die neue Konfiguration eingerichtet wird)
lidsconf -A -s /usr/sbin/httpd -o CAP_SETUID -j GRANT
lidsconf -A BOOT -s /usr/sbin/httpd -o CAP_NET_BIND_SERVICE 80 -j GRANT
Beispielregel für einen Apache Server, die zweite gilt nur während der Bootphase
lidsconf -o /var/log -j APPEND Log Files schützen
lidsconf -A -s /bin/login -o /etc/shadow -j READONLY LOGIN den Lese - Zugriff auf die Passwortdatei gewähren
lidsconf -A -o /bin -j READONLY setzt alle Binarys auf nur lese Modus
lidsconf -A -o /etc/shadow -j DENY
lidsconf -A -s /bin/login -o /etc/shadow -j READONLY
Die erste Regel blendet die Datei /etc/shadow auf, die zweite Regel erlaubt den LOGIN Prozess nur lese Zugriff auf die Datei /etc/shadow
   
Option von lidsconf
-s /bin/login gibt an das die Regel nur für /bin/login gilt, ohne Angabe von -s gilt die Regel generell
-A Regel am Ende Anhängen
-A GLOBAL Sektion die immer gültig ist und einen Grundschutz bereitstellen soll
-A BOOT Sektion die beim Rechnerstart abgearbeitet wird, in der alle Serverprozesse gestartet werden
-A POSTBOOT Sektion die denn Rechner beim arbeiten schützen soll (shr restiktive Regeln)
-A SHUTDOWN Sektion die beim runterfahren des REchners abgearbeitet wird
-i Vererbung an Kind-Prozesse einrichten (an wie viele Generationen des Prozesses vererbt werden soll, kann man mit positiven Zahlen festlegen. -1 steht dabei für unbegrezt)
-Z löschen aller Regeln
-L zeigt Inhalt der lids.conf an
lidsconf -U inode/dev Werte von lids.conf updaten
READONLY nur lesen
WRITE schreibrecht gewähren
APPEND Dateien anhängen
DENY nicht erlaubt, Dateien werden aus den Dateibaum ausgeblendet
GRANT Zugriff erlauben
lidsadm -S -- +RELOAD_CONF Konfiguration neu in den Kernel einlesen
lidsadm -I Kernel verschliessen
lidsadm -S -- +SHUTDOWN Rechner runterfahren Passworteingabe nötwendig
lidsadm -S -- -LIDS LIDS Freie Session erzeugen, die aktuelle Shell steht nicht mehr unter der Kontrolle von LIDS z.B. zur Konfiguration des LIDS Systems
lidsadm -S -- +LIDS LIDS Freie Session beenden
lidsadm -S -- -LIDS_GLOBAL LIDS komplett deaktivieren
lidsadm -S -- +LIDS_GLOBAL LIDS wieder aktivieren
   

- LIDSCONF ermittelt automatisch die entsprechende INODE-Nummer und trägt diese in die lids.conf ein
- Bei den Regeln für LIDS, darf man den Schutz bestimmter Objekte nachträglich nur abschwächen, nicht verschärfen, so kann man nicht nach einem "lidsconf -A -o /etc -j READONLY" die Regel "lidsconf -A -o /etc/shadow -j DENY" setzen da diese für die /etc/shadow Datei denn Zugriff verschärfen würde. Die DENY Regel muss als vor der READONLY Regel gesetzt werden.
- Die lids.conf ist in mehreren Sektionen eingeteilt GLOBAL, BOOT, POSTBOOT, SHUTDOWN nach der BOOT Sektion sollte der Rechner mit "lidsadm -I" versiegelt werden

Syntax
lidsconf -A -o datei_zum_schuetzen -j DENY/READ
lidsconf -A -s SUBJECT_PROGRAM -o OBJECT_PROGRAM -j DENY/READ/WRITE/APPEND

Zuerst muss man feststellen welche Dateien man eigentlich schuetzen will. In den meisten Faellen ist sind das die System Binaries und Konfigurationen, wie z.B. /usr, /sbin, /etc, /var/log
1. /etc/shadow mit DENY vor Zugriff schützen
lidsconf -A -o /etc/shadow -j DENY
lidsconf -A -s /bin/login -o /etc/shadow -j READ
2. /etc/passwd und /bin/passwd schützen
lidsconf -A -o /etc/passwd -j READ
lidsconf -A -o /bin/passwd -j READ
3. /sbin schützen
lidsconf -A -o /sbin/ -j READ
4. LOG Dateien schützen, diese können nur im APPEND-Modus geschützt werden, löschen und modifizieren wird dadurch verhindert.
lidsconf -A -o /var/log/message -j APPEND
lidsconf -A -o /var/log/secure -j APPEND
lidsconf -A -o /var/log/syslog -j APPEND
5. Web Server schützen, ein Eindringling kann den WWW Ordner nicht sehen, nur der Apache Server hat Lesezugrifffür das Verzeichnis.
lidsconf -A -o /var/www -j DENY
lidsconf -A -s /usr/sbin/apache2 -o /var/www -j READ
6. XF56_SVGA Zugriff erlauben
lidsconf -A -s /usr/X11R6/bin/XF86_SVGA -t -o CAP_SYS_RAWIO -j INHERIT

Beispielkonfiguration
lidsconf -Z
lidsconf -A -o /boot -j READ
lidsconf -A -o /vmlinuz -j READ
lidsconf -A -o /lib -j READ
lidsconf -A -o /root -j READ
lidsconf -A -o /etc -j READ
lidsconf -A -o /sbin -j READ
lidsconf -A -o /usr/sbin -j READ
lidsconf -A -o /bin -j READ
lidsconf -A -o /usr/bin -j READ
lidsconf -A -o /usr/lib -j READ
lidsconf -A -o /var/log -j APPEND

Prozess verstecken, der Prozess wird mit ps oder anderen Programmen nicht mehr angezeigt
lidsconf -A -s /usr/sbin/apache2 -t -o CAP_HIDDEN -j INHERIT

Seitenanfang

User Mode Linux

UML Projekt

UML läuft in zwei verschiedenen Betriebsarten, "Tracing-Thread-Modus" Prozesse der UML erscheinen in der Prozessliste des Hostes, geringe Geschwindigkeit, es ist theoretisch möglich aus der UML auszubrechen.
"Separate Kernel Adress Space Modus (SKAS)" UML-Kernel hat einen eigenen Adressbereich auf dem Host-System, schnelle und sicherer.

Kernel für den UML-Host erstellen
1. Files laden und nach /usr/src/linux-2.6.6 entpacken

2. Kernelpatch für SKAS einspielen, erst ein Test dann geht es los
patch --dry-run -Np1 < host-skas3-2.6.6-v1.patch
patch -Np1 < host-skas3-2.6.6-v1.patch

3. Kernel konfigurieren
make menuconfig
- unter "Loadable module support" das laden von Modulen deaktivieren (Optionen von unten nach oben deaktivieren) damit man einen monolithischen Kernel zu erstellen, der das System gegen Root-Kits sicherer macht.
- unter "Device Drivers/Networking support/Universal TUN/TAP device driver support" aktivieren
- unter "Device Drivers/Networking support/Networking options/Network packet filtering" aktivieren
- unter "Device Drivers/Networking support/Networking options/802.1d Ethernet Bridging" aktivieren
- unter "Device Drivers/Networking support/Networking options/Network packet filtering/IP: Netfilter Configuration/Full NAT" aktivieren
- unter "Device Drivers/Networking support/Networking options/Network packet filtering/IP: Netfilter Configuration/NAT of local connections" aktivieren
- unter "Device Drivers/Block devices/Loopback device support" aktivieren
Bei einem monolithischen Kernel darf man auch nicht die anderen Treiber für die Netzwerkkarte und das Dateisystem vergessen fest in den Kernel einzubinden.

4. Kernel kompilieren
make all

Pakete installieren
apt-get install uml-utilities bridge-utils debootstrap user-mode-linux-doc grep-dctrl ncftp m4 screen

Kernel für die UML-VM erstellen
1. Files laden und nach /usr/src/linux-2.6.6 entpacken

2. Kernelpatch UML einspielen, erst ein Test dann geht es los
patch --dry-run -Np1 < uml-patch-2.6.6-1
patch -Np1 < uml-patch-2.6.6-1

3. Kernel konfigurieren
make ARCH=um menuconfig

4. Kernel kompilieren
make ARCH=um all

Seitenanfang

Drucken unter Linux

Schnittstellen und Module
CUPS
CUPS und Samba
Windows Treiber bereitstellen und nutzen
Drucken mit APSFILTER

SeitenanfangSchnittstellen und Module
erster Druckeranschluss:
paralell:/dev/lp0
usb:/dev/usb/lp0

lpinfo -v zeigt verfügbare Schnittstellen an.

Modul für den Drucker
modprobe parport	#paralelle Schnittstelle
modprobe lp		#paraleller Drucker
USB
- Module für Kernel 2.4 und das Drucken über USB
usb-uhci	# USB Host
usb-ohci	# USB Host
printer		# USB Drucker
input		# USB Eingabe Geräte
usbcore		# allgemeines Modul
- Module für Kernel 2.6 und das Drucken über USB
uhci_hcd	# USB Host
ohci_hcd	# USB Host
ehci_hcd	# USB 2.0 Modul
usbcore		# allgemeines Modul
welchen USB-Controller man im Rechner hat läst sich mit lspci -v ermitteln.

weitere Packete (für Debian)
hotplug, hotplug-util

Drucker testen
echo -en "Hallo\f" >/dev/usb/lp0

SeitenanfangCUPS
Pakete: cupsys, cupsys-client, cupsomatic-ppd, cupsys-bsd, hpijs (für HP Deskjet und Officejet Drucker)

PPD Datei auf www.linuxprinting.org | Printer Listings | den Drucker auswählen | download PPD und die Datei unter /usr/share/cups/model speichern.
Adobe Postscripttreiber kann man hier downloaden, unter Windows auspacken und in das Verzeichnis /usr/share/cups/drivers kopieren.
ADOBEPS5.DLL
ADOBEPSU.DLL
ADOBEPSU.HLP

- Cups Client Konfigurationsdatei /etc/cups/client.conf
ServerName host.domain.tld

- Cups Server Konfigurationsdatei /etc/cups/cupsd.conf
ServerName		host.domain.tld
ErrorLog		/var/log/cups/error_log
LogLevel		info
PageLog			/var/log/cups/page_log
Port			631
BrowseProtocols		cups
BrowseAllow		192.168.2.0/24
BrowsePort		631

# Zugriffsrechte auf den Server setzen
<Location /admin>
	AuthType Basic
	AuthClass System
	Order Deny,Allow
	Deny From All
	Allow From 127.0.0.1
</Location>

Am Cups System anmelden

- Passwort für den CUPS Administrator setzen

lppasswd -g sys -a root

- am CUPS-Frontend anmelden

http://localhost:631
SeitenanfangCUPS und Samba
/etc/samba/smb.conf
[global]
 printing		= cups
 printcap name		= cups
 load printers		= yes
 ; print command	= lp -c -d'%p' %s
 ; printer driver	= hp deskjet 970c series

[printers]
 comment		= All Printers
 path			= /var/spool/samba
 browseable		= no
 public			= yes
 guest ok		= yes
 read only		= yes
 printable		= yes
 printer admin		= root

[print$]
 comment		= Druckertreiber
 path			= /etc/samba/drivers
 browsable		= yes
 guest ok		= yes
 read only		= yes
 write list		= root
um Samba das erste mal mit Cups zu verbinden, muss man den Eintrag in der smb.conf "invalid user = root" deaktivieren (falls vorhanden). Danach als root den Befehl "cupsaddsmb -a" ausführen (ist im Pakte cupsys-client enthalten).

wenn beim Aufruf von cupsaddsmb -a mehrmals nach dem Passwort gefragt wird, muss das Samba Passwort für root noch mit smbpasswd -a root gesetzt werden.

cupsaddsmb ist eine alternative Methode, um Drucker-Treiber in die Samba-Freigabe [print$] zu transferieren, kann den Adobe PostScript-Treiber genauso verwenden wie den neu entwickelten CUPS PostScript-Treiber für Windows NT/200x/XP. cupsaddsmb funktioniert NICHT mit beliebigen Drucker-Treibern, sondern nur mit exakt den Treiber-Dateien, die in seiner man-page angegeben sind.

SeitenanfangWindows Treiber bereitstellen und nutzen
- einen neuen Drucker anlegen
lpadmin -p hp970 -E -P /usr/share/cups/model/deskjet.ppd
lpadmin -p hp970 -v usb:/dev/usb/lp0
!!! Diesem Drucker keinen herunterladbaren Treiber zuordnen, also das Hilfsprogramm cupsaddsmb nicht ausführen.

in der /etc/cups/mime.convs die # vor dem Eintrag entfernen.
#application/octet-stream       application/vnd.cups-raw        0       -

/etc/init.d/cupsys restart
/etc/init.d/samba restart
die Verzeichnisse für die Dateien am besten gleich in der Samba-Freigabe "print$" anlegen.
mkdir /etc/samba/drivers/COLOR
mkdir /etc/samba/drivers/W32X86

auf dem Windows Client mit root und dem Passwort des Samba-Servers anmelden.
Netzwerkumgebung | Server | Ordner Drucker | Drucker "drvtest" auswählen, rechte Maustaste Eigenschaften, bei der Frage, ob man die Treiber installieren möchte mit nein antworten.
Erweitert | Neuer Treiber einen passenden Treiber für den Drucker wählen.
um die Treiber für Win98 zu installieren, auf Freigabe | Zusätzliche Treiber | Windows 95, 98 auswählen.

SeitenanfangDrucken mit APSFILTER
apt-get install apsfilter lprng original-awk gs a2ps dvips transfig netpbm



Seitenanfang

Sound konfigurieren

Gerät  
/dev/dsp Digital Sample Device (meist ein Symbolischer Link auf /dev/dsp0)
/dev/dsp0 erstes Digital Sample Device
/dev/dsp1 zweites Digital Sample Device usw.

- Sound Device anlegen
mknod -m 660 /dev/mixer c 14 0
mknod -m 660 /dev/sequencer c 14 1
usw...

- Benutzern den Zugriff auf das Device erlauben (hier der Gruppe "audio")
chgrp audio /dev/mixer

Gerät  
/dev/mixer Sound Mixer (meist ein Symbolischer Link auf /dev/mixer0)
/dev/mixer0 erster Sound Mixer
/dev/mixer1 zweiter Sound Mixer usw.
/dev/midi für Midi Dateien
/dev/sndstat Status des Soundsystems im Klartext

Liste aller nötigen Devices unter "/usr/src/linux/Documentation/devices.txt"

Module laden
(für Soundblaster Live)
soundcore
emu10k1
ac97_codec

(Intel OnBoard Sound)
soundcore
i810_audio
ac97_codec

Eintrag /etc/modules.conf
- Kernel 2.4
in der Datei /etc/modules.conf
alias char-major-116 snd
alias char-major-14 soundcore

# Berechtigungen für das Sound-Device setzen (Gruppe audio hat Zugriff)
options snd major=116 cards_limit=4 device_mode=0660 device_gid=29 device_uid=0

# vier Soundslots definieren (je nach Hardware-Anzahl im Rechner)
alias sound-slot-0 snd-card-0
alias sound-slot-1 snd-card-1
alias sound-slot-2 snd-card-2
alias sound-slot-3 snd-card-3
# Soundslots der Soundkarten zuordnen
# ICE1712 Soundkarte
alias snd-card-0 snd-ice1712
# SoundBlaster Live
alias snd-card-1 snd-emu10k1
# virtuelle Midi Karte
alias snd-card-2 snd-virmidi midi_devs=8 id="vimidi01"
# USB-Karte (da die Karte nicht immer angeschlossen ist kommt sie als letzte)
alias snd-card-3 snd-usb-audio

# ALSA OSS-Emulation für ältere Anwendungen einrichten
#snd-card-1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
#snd-card-2
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-12 snd-pcm-oss

# Modul für Hardware-Midi-Synthesizer für Soundblasterkarten laden
alias snd-synth-midi snd-seq-midi

- Kernel 2.6
Ä nderungen wie bei 2.4 nur in der /etc/modprobe.conf
geladen wird ALSA über ein Script unter /etc/init.d/alsa
alsamixer zum Einstellen der Lautstärke
alsactl speichert die Einstellungen vom Mixer beim beenden von Linux
alsactl store speichert Mixerstände von Hand
alsactl restore stellt gespeicherte Mixerstände wieder her

ALSA unter Linux (Advanced Linux Sound Architecture)
apt-get install alsa-base alsa-utils linux-sound-base alsamixer alsaconf
alsa-modules bei einem Distrikernel noch das Paket einspielen.

XMMS mit ALSA-XMMS Plugin

ALSA Intel Modul laden
modprobe snd-intel8x0

Eintrag /etc/modules.conf
alias snd-card-0 snd-intel8x0
- Debian unter /etc/modutils/alsa
alias char-major-116 snd
alias char-major-14 soundcore
options snd major=116 cards_limit=4
#
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

Testen der Soundausgabe
cat /usr/share/sounds/KDE_Beep_Beep.wav > /dev/dsp

Seitenanfang

Partition kopieren

(hdaX wird auf hdcX kopiert)
Rettungssystem von CD booten
bei der Debian Net-Install Version von "LordSutch" muß man "Eine Shell aufrufen", wenn das kopieren angefangen hat, muss man sich auf dem zweiten Terminal einloggen, dann geht das kopieren schneller und man kann mit "df" denn Fortschritt anzeigen

- Version 1
mkdir /old
mkdir /new
mount -r /dev/hdaX /old
mount /dev/hdcX /new
cd /old
tar cfp - . | ( cd /new ; tar xfp - )
oder
tar cflp - . | ( cd /new ; tar xflp - )
mit Option "l" werden nur Dateien von der lokalen Platte kopiert, keine die über ein Verzeichnis gemountet sind. Man kann also die neue Platte mounten und die Daten der alten draufkopieren, ohne vorher den Umweg über das Rescue System zu nehmen.

- Version 2
mkdir /old
mkdir /new
mount -r /dev/hdaX /old
mount /dev/hdcX /new
cp -ax /old/* /new/

- Version 3
mkdir /old
mkdir /new
mount -r /dev/hdaX /old
mount /dev/hdcX /new
cd /new
dump 0af - /old | restore xf -

- Version 4
mkdir /old
mkdir /new
mount -r /dev/hdaX /old
mount /dev/hdcX /new
find /old -xdev | cpio -pm /new

danach muss noch /etc/fstab angepasst werden, denn Rechner von der alten Platte starten und beim booten von LILO die Option "boot=/dev/hdxx root=/dev/hdxx" angeben und auf die neue Platte oder Partition verweisen.
dann /etc/lilo.conf der neuen Platte anpassen und LILO in den Bootsector eintragen, man kann auch mit "liloconfig" eine neue lilo.conf erstellen und gleichzeitig LILO in den Bootsector platzieren

Festplatten über Netzwerk Clonen

- mit einer KnoppixCD den Quell und Zielrechner booten und eine Netzwerkverbindung zwischen beiden Rechnern herstellen.
QuellPC ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ZielPC ifconfig eth0 192.168.0.2 netmask 255.255.255.0 up

- alle Partitionen auf dem Zielrechner löschen
dd if=/dev/zero of=/dev/hda bs=512 count=1

- auf dem Zielrechner neue Zielpartition anlegen z.B. mit cfdisk, durch umschalten der Taste "u" kann man die Anzeige zwischen MB, Sectoren und Zylinder umschalten. Die Zielpartition sollte mind. so gross wie die Quellpartition sein.

- den ZielPC für die Netzwerkübertragung vorbereiten, netcat wird im Servermodus gestartet und wartet auf Port 9000 auf Daten. (ca. 29GByte je Stunde im 100MBit Netzwerk)
netcat -l -p 9000 | dd of=/dev/hda1

- mit dem QuellPC die Übertragung einleiten. Wenn die Meldung mit der Anzahl kopierter Sektoren erscheint, kann man netcat mit STRG-C abbrechen.
dd if=/dev/hda1 | netcat 192.168.0.2 9000

Netzwerkklonen einer NTFS Partition

ntfsclone sichert nur belegte Sektoren, was die Übertragung beschleunigt und liefert eine Fortschrittsanzeige.

- ZielPC auf die Übertragung vorbereiten
netcat -l -p 9000 | ntfsclone --restore-image --overwrite /dev/hda1

- mit dem QuellPC senden
ntfsclone --save-image --output - /dev/hda1 | netcat 192.168.0.2 9000

- einen neuen Bootcode schreiben
install-mbr /dev/hda

Partion Image anlegen

1. DMA Modus einschalten

hdparm -d1 /dev/hda
hdparm -d1 /dev/hdb

2. Zielpartion mounten

mount /dev/hdb7 /mnt/hdb7

3. Images von hda1 anlegen

dd if=/dev/had1 bs=64k | gzip -c > /mnt/hdb7/image.gz

3a. Image für CD aufteilen

dd if=/dev/had1 bs=64k | gzip -c | split -b 600m -  /mnt/hdb7/image.gz

4, Vergleichen von Quelle und Ziel

cat /mnt/hdb7/image.gz* | gzip -d | cmp - /dev/hda1

5. Image wieder zurückspielen

umount /mnt/hda1
cat /mnt/hdb7/image.gz* | gzip -d | dd of=/dev/hda1 bs=64k
Seitenanfang

IPX Protokoll

Debian Paket ipx, der Kernel muss mit IPX-Unterstützung kompiliert worden sein.
Debian Paket ncpfs zum mounten der Ressourcen

Kernel-Optionen:
IPX Protokoll in den Kernel einbinden
Device Drivers | Networking support | Networking options | The IPX protocol
File systems | Network File Systems | <M> NCP file system support (to mount NetWare volumes)

- IPX Protokoll initialisieren

ipx_configure --auto_primary=on --auto_interface=off
ipx_interface add -p eth0 EtherII

- ein IPX-Interface entfernen

ipx_interface del eth0 etherII

- IPX-Konfiguration anzeigen

ipx_interface check eth0 etherII

- eine Ressource mounten

ncpmount -S server.domain.tld -U benutzer -P passwort /mnt/netware

- eine Ressource unmounten

umount /mnt/netware