Debian Lenny

Aus ConfigWiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Partitionierung)
(Benutzerverwaltung mit LDAP)
Zeile 103: Zeile 103:
 
  userpassword: {SSHA}V3N3EuLiYKurgaM5tJ61+ArsJRi0my/E
 
  userpassword: {SSHA}V3N3EuLiYKurgaM5tJ61+ArsJRi0my/E
  
Das Gecos-Feld und die Login-Shell sind hierbei optional, alle anderen sind Pflichteinträge.
+
Description, Gecos-Feld und die Login-Shell sind hierbei optional, alle anderen sind Pflichteinträge.
  
 
Ein Beispieleintrag für eine Unix-Gruppe:
 
Ein Beispieleintrag für eine Unix-Gruppe:
Zeile 114: Zeile 114:
  
 
Hier ist nur Description optional. Über MemberUID werden dieser Gruppe weitere Mitglieder hinzugefügt.
 
Hier ist nur Description optional. Über MemberUID werden dieser Gruppe weitere Mitglieder hinzugefügt.
 +
 +
Standardmäßig wird im gesamten LDAP-Baum nach posixAccount- und posixGroup-Einträgen gesucht.
 +
 +
ToDo: Wo/wie sind entsprechende Filter zu konfigurieren?
 +
 +
==Samba mit LDAP==

Version vom 2. Dezember 2010, 22:42 Uhr

Ausgehend von einer Minimalinstallation wird hier Aufbau eines Servers beschrieben. Dazu werden die einzelnen nachinstallierten Pakete mit deren Aufgabe für das System beschrieben.

Als Referenz dient ein Debian Lenny 5.0.6 i386. Abweichende Schritte für amd64 werden später ergänzt.

Inhaltsverzeichnis

Partitionierung

Für das Testsystem steht eine virtuelle Maschine (KVM) mit 1 CPU, 512 MB RAM und 2 GB HDD zur Verfügung. Deshalb wird die all-in-one-Variante gewählt und der Vorschlag des Installers übernommen. Von den 2 GB werden 150 MB für SWAP verwendet, der Rest unter / gemountet. Für ein Produktivsystem ist eine Aufteilung in /boot, /, /usr, /home, /var, /tmp und SWAP empfehlenswert. Je nach Verwendung sind weitere Partitionen für /opt, /srv oder auch Teile von /var sinnvoll. Entsprechende Größenangaben folgen später.

Es ist sinnvoll, für die Partitionen LABELs zu vergeben und diese darüber zu mounten. Dafür gibt es mehrere Gründe:

  • es kommt vor, daß nach einem Kernelupgrade die Festplatte nicht mehr als /dev/hda erkannt wird, sondern als /dev/sda
  • beim Installieren einer weiteren Festplatte könnte die Reihenfolge vertauscht werden, in der diese angesprochen werden
  • UUIDs werden beim Erzeugen des Filesystems generiert, d.h. bei Hardwaretausch + Backup hat die Partition ein neues FS und somit eine neue UUID
  • UUIDs sind schwer lesbar

Labels hingegen können beim Erzeugen des Dateisystems angegeben oder auch nachträglich gesetzt werden. Sie sollten allerdings so eindeutig sein, daß sich beim Einbau einer Festplatte in einen anderen Rechner keine Kollisionen ergeben. Bewährt hat sich ein Präfix mit dem Hostnamen.

In Testsystem entspricht das für das Root-FS und Swap:

# mkfs -T ext3 -L lenny3-root /dev/vda1
# mkswap -L lenny3-swap /dev/vda5

nachträglich erledigen:

# tune2fs -L lenny3-root -c0 -i0 /dev/vda1

Bei der Gelegenheit schalten wir die FS-Checks gleich aus, die bei Journal-Dateisystemen nicht mehr nötig sind.

Für Swap geht das nicht nachträglich. Deshalb müssen wir die Swap-Partition neu formatieren und demzufolge vorher aushängen.

# swapoff /dev/vda5
# mkswap -L lenny3-swap /dev/vda5
# swapon LABEL=lenny3-swap

Natürlich funktioniert auch weiterhin ein swapon /dev/vda5, aber so können wir das Label gleich testen.

Jetzt sind in /etc/fstab die /dev/* (bzw. UUID=*) durch ein LABEL=lenny3-* zu ersetzen:

/etc# diff fstab.old fstab
5,6c5,6
< /dev/vda1       /               ext3    errors=remount-ro 0       1
< /dev/vda5       none            swap    sw              0       0
---
> LABEL=lenny3-root /               ext3    errors=remount-ro 0       1
> LABEL=lenny3-swap none            swap    sw              0       0

Nun muß noch der Bootloader GRUB angepaßt werden.

Installation

  1. im BIOS sollte die Zeit auf UTC gestellt sein
  2. Installer: advanced -> Expert
  3. Standardsprache: english, US, UTF-8
    1. additional locales: en_US, en_US.ISO, de_DE, de_DE.UTF-8, de_DE.ISO
  4. Tastatur: german (außer man kennt die Tastaturbelegung einer englischen Tastatur auswendig oder hat eine solche angeschlossen)
  5. Module: usb-storage (kann), PC-Card nein
  6. Installer Components (für Spezialfälle)
    1. network console - für eine Installation per SSH
    2. openssh-client - falls man während der Installation schon per SSH raus will
    3. ppp, wireless - wenn der Rechner nur direkt an (DSL-)Modem oder WLAN hängt
  7. Partitionierung: geführt, ganze Platte, all-in-one (für die Testumgebung , s.o.)
  8. Kernel: 2.6.26-686, initrd: generic
  9. login as root: no -> sudo-Umgebung
  10. Debian-Mirror: Germany->ftp.de.debian.org (TU Dresden)
  11. Proxy: http://192.168.122.1:3142 (apt-cacher auf dem KVM-Host)
  12. non-free, security, volatile: yes
  13. Software selection: auch das Standardsystem entfernen
  14. grub2, MBR
  15. finish installation, SysClock: UTC

Damit ist die Grundinstallation abgeschlossen und das System kann neu gestartet werden. In diesem Zustand hat das System gerade mal 428 MB HDD und 126 MB RAM belegt.

Grundlegende Tools

Diese werden einfach mit

aptitude install <PACKAGENAME>

nachinstalliert. Meist ziehen die Pakete noch einige Abhängigkeiten nach, womit man sich nicht um jedes einzelne benötigte Paket kümmern muß.

vim
Der etwas bessere Editor im Vergleich zum vi. Ansonsten kann hier auch jeder beliebige Editor installiert werden.
mc
Ein Dateimanager im Norton Commander-Stil, beinhaltet den Editor mcedit. Nichts für Puristen. ;-)
htop
Das etwas andere 'top'
lsof
zum anzeigen offener Dateien und Verbindungen
openssh-server
für den Remotezugriff
apt-file
für die Suche nach Dateien von noch nicht installierten Paketen
bash-completion
vervollständigt auch die Optionen von den Kommandos, muß aber in der /etc/bash.bashrc noch aktiviert werden ('#' in Zeile 32-34 entfernen)
psmisc
enthält u.a. pstree und killall
less
weniger ist mehr ;-) (der bessere Pager)

Benutzerverwaltung mit LDAP

LDAP ist die Basis für eine spätere Verwaltung der Benutzer für verschiedene Bereiche über eine Weboberfläche bzw. für die Nutzung der Daten von verschiedenen Rechnern aus. Mit LDAP können auch Adressbücher und weitere Verzeichnisdienste verwaltet werden.

Benötigt werden folgende Pakete:

slapd
der OpenLDAP-Server
ldap-utils
die OpenLDAP-Client-Tools
libnss-ldapd
NSS-LDAP ist die LDAP-Informationsquelle für den NameSeviceSwitch
libpam-ldap
PAM-LDAP ist für die Authentifizierung der Benutzer via LDAP zuständig und wird durch libnss-ldapd automatisch installiert.
ldapscripts
Kommandozeilentools für die Verwaltung von Benutzern im LDAP
phpldapadmin
die bequeme Art, das LDAP-Verzeichnis vom Browser aus zu verwalten.

Ein Beispieleintrag für einen Unix-Benutzer:

dn: dn=testuser,ou=people,dc=lenny,dc=local
cn: testuser
description: TestUser
gecos: TestUser
gidnumber: 1001
homedirectory: /home/testuser
loginshell: /bin/bash
objectclass: account
objectclass: posixAccount
uid: testuser
uidnumber: 1001
userpassword: {SSHA}V3N3EuLiYKurgaM5tJ61+ArsJRi0my/E

Description, Gecos-Feld und die Login-Shell sind hierbei optional, alle anderen sind Pflichteinträge.

Ein Beispieleintrag für eine Unix-Gruppe:

dn: cn=testuser,ou=group,dc=lenny,dc=local
cn: testuser
description: TestUser
gidnumber: 1001
memberuid: benutzer2
objectclass: posixGroup

Hier ist nur Description optional. Über MemberUID werden dieser Gruppe weitere Mitglieder hinzugefügt.

Standardmäßig wird im gesamten LDAP-Baum nach posixAccount- und posixGroup-Einträgen gesucht.

ToDo: Wo/wie sind entsprechende Filter zu konfigurieren?

Samba mit LDAP

Meine Werkzeuge