tux

L i n u x - S c h u l e
NT-Clients an Arktur

  Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities  

Grundeinrichtung

Neuerungen ab Version 3.0q

Neuerungen ab Version 3.2t15

Eine für NT angepasste smb.con


Dieser Text stammt von Joachim Hänsel [Joachim.Haensel@t-online.de]

Das folgend beschriebene Verfahren ist mit Arktur V.2 und V.3 getestet worden.
Für V.2 sind folgende Vorbereitungen erforderlich:

  1. alle Updates mind. bis Samba-Update 2.03
  2. (wichtig!) in der Datei /etc/passwd muss bei User nobody die User-ID=-2 (bzw. 65534) eingetragen werden, ebenso die Gruppen-ID.

Die neue V.3 bringt bereits alle notwendigen Voraussetzungen mit.

Übersicht

Samba führt als PDC in einer zentralen Passwortdatei (smbpasswd) die Konten für alle Rechner und User einer Domäne. Die Passwörter sind verschlüsselt. Diese Datei ist zusätzlich zu der allgemeinen Datei /etc/passwd und liegt i.d.R. im Verzeichnis /etc/samba/private. Hier können nur Mitglieder eingetragen werden, die bereits in /etc/passwd angelegt sind. Auch NT-Workstations benötigen Unix-Namen. Diese müssen mit dem $-Zeichen enden, z.B. "platz1$". Die Samba-Liste wird mit dem Samba-Tool smbpasswd gepflegt (s.u.). In der Samba-Konfiguration wird die Verwendung der Liste durch den Eintrag "encrypt passwords = yes" aktiviert. In dieser Liste können durchaus andere Passwörter verwendet werden als für die UNIX-Anmeldung.

Wenn sich eine NT-Workstation zum ersten Mal bei einer Domain anmeldet, wird in der smbpasswd nach dem Rechnernamen gesucht. Als erstes Anmelde-Passwort ist der Rechnername (ohne $-Zeichen!) vorgeschrieben. Jetzt handeln Workstation und Samba-Server ein neues verschlüsseltes Passwort aus und speichern es ab. Dieses wird für künftige Anmeldungen benutzt. Der Client meldet die erfolgreiche Aufnahme in der Domain.

Achtung:

Wird ein Rechner aus einer Domain entfernt, ist eine erneute Aufnahme unter gleichem Namen nur möglich, wenn das Passwort wieder in seine Anfangsform zurückgesetzt wird, z.B. für den Rechner "platz1" mit "smbpasswd platz1$ platz1".

Im nächsten Schritt wird auf dem Server ein Userprofil angelegt in dem Pfad, der in der Samba-Konfiguration mit "logon path = <Pfad>" definiert ist. Eine Kopie wird auf dem lokalen Rechner angelegt. Nach erfolgreichem Anmelden stehen künftig eine lokale und eine Netzanmeldung zur Verfügung.

Arbeitschritte:

Die folgenden Schritte müssen als root ausgeführt werden!

1) Samba-Umgebung vorbereiten

Samba entsprechend der angefügten Datei smb.conf konfigurieren. Bei Arktur kann die Datei in/etc/samba kopiert werden. Werden die Einstellungen beibehalten, müssen die Verzeichnisse /var/log/samba und /home/adm/profiles angelegt werden. Das profiles-Verzeichnis muss alle Rechte für jeden Benutzer haben, damit die Profil-Verzeichnisse der Benutzer gespeichert werden können. Also mit "chmod 777 /home/adm/profiles" einstellen. Samba übernimmt Änderungen an der smb.conf automatisch, kann aber auch neu gestartet werden:

erst "/sbin/init.d/samba stop", danach "/sbin/init.d/samba start".

2) Unix-Konten für Rechner anlegen

Für jeden NT-Rechner der Domäne muss ein Unix-Konto angelegt werden. Samba benötigt daraus lediglich die User-ID. Deshalb ist es im Hinblick auf die Benutzer-Verwaltung bei Arktur zweckmäßig, eine User-ID im Bereich 500 - 999 zu wählen, z.B. wird mit
"useradd platz1$ -u 501 -s /bin/false -d /dev/null"
die Workstation platz1 vorbereitet. Eine Unix-Anmeldung als platz1$ist nicht möglich, ein Homeverzeichnis wird nicht angelegt. Eine freie User-ID kann mit
"less /etc/passwd"
ermittelt werden.

3) Samba-Konten für Rechner anlegen

Der in 2) vorbereitete Rechner wird mit "smbpasswd -a -m platz1$" in die Samba-Liste als platz1$mit dem Passwort platz1 eingetragen.

4) Samba-Konten für Benutzer anlegen

Ein Unix-Benutzer "jochen" wird mit "smbpasswd -a jochen geheim" in die Samba-Liste mit dem Passwort "geheim" aufgenommen. Gültige Unix-Benutzer können mit "less /etc/passwd" ermittelt werden.

5) NT-Workstations auf Domänen-Anmeldung einstellen

Eine NT-Workstation wird über Netzwerkungebung, Eigenschaften, Identifikation, Ändern von "Arbeitsgruppe" auf "Domäne" umgestellt. Sind alle Einstellungen richtig, meldet der Rechner die erfolgreiche Aufnahme in der Domäne. Nach einem Neustart stehen jetzt lokale und Domänen- Anmeldung zur Verfügung. Für jeden User, der sich zum ersten Mal in der Domäne anmeldet, wird ein Profil-Verzeichnis in "/home/adm/profiles" angelegt. Der User kann sich künftig an jedem Rechner der Domäne anmelden und erhält das serverbasierte Profil zugeordnet.

Änderungen der Einträge in der Samba-Liste:

Passwort eines Users ändern

entweder:
a) Über den WWW-Browser erreicht man unter der Adresse
http://arktur:901 das Samba-Management SWAT.
oder:
b) Als Root das Sambatool smbpasswd ausführen, z.B. bekommt mit "smbpasswd jochen geheim" der User "jochen" das Passwort "geheim" zugeteilt.

User oder Maschine löschen
Als Root die Datei /etc/samba/private/smbpasswd mit einem Editor, z.B.joe bearbeiten. Zum Löschen wird die entsprechende Zeile aus der Liste entfernt.


Neuerungen ab Version 3.0r (Patch 13)

Ab Arktur V. 3.0r (Patch 13) und Samba 2.0.7 hat R. Klaproth die oben beschriebene User-Verwaltung für Samba in die allgemeinen Scripte integriert. Für die Anmeldekonten der Rechner gilt aber das oben beschriebene Verfahren weiter.

Ist in der Samba-Konfiguration smb.conf der Eintrag "encrypt passwords = yes" vorhanden, wird automatisch ein Sambakonto eingerichtet, wenn über das Sysadm-Menü ein neuer Benutzer angelegt wird. Auch beim Löschen eines Benutzers wird das entsprechende Sambakonto entfernt. (Für Linux-Forscher: Dafür sind die Scripte "makehome" und "delhome" in /usr/lib/ods-server/bin zuständig.) Wurde allerdings erst später auf verschlüsselte Passwörter umgestellt, müssen die Konten für bereits vorhandene User nach dem oben beschriebenen Verfahren eingerichtet werden.

User können ihre Passwörter ganz normal über die Windows-Oberfläche ändern. Damit wird allerdings nur das Sambapasswort (fÜr die Domainanmeldung) geändert, das Unix-Passwort (z.B. fÜr die Abholung von Emails) kann jeder Benutzer über das Online-Interface ändern.
Es gibt leider noch keine Möglichkeit, beide Passworte automatisch zu synchronisieren.

Ergänzt am 03.05.2001


Neuerungen ab Version 3.2t15 / Nachtrag vom 27.11.2001

Mehrfach wurde das Problem beschrieben, Win2000-Clients an Arktur/Samba zu binden, wobei Arktur den PDC (Primary-Domain-Controller) spielen soll. Dazu ist Samba 2.2.x erforderlich. In der Arktur-Version 3.2t15 ist Samba 2.2.1a enhalten. Auf diesem Weg klappt es:

  1. Arktur und Win2000-Client müssen auf verschlüsselte Passwörter eingestellt sein (wie bei NT4)
  2. Der Rechner benötigt ein Anmeldekonto bei Arktur (wie bei NT4)
  3. Der User root muss in der Samba-Passwortdatei eingetragen sein. (s. Arbeitsschritt 4 der NT-Anleitung)
  4. Beim Umstellen des Clients auf Domänenameldung muss man als ersten Anmeldename root verwenden!

Wenn der Rechner in die Domäne aufgenommen ist, kann sich natürlich jeder Samba-User anmelden.


smb.conf

Download der smb.conf als tgz-Archiv

########################################################
# Dateiname:            /etc/samba/smb.conf fuer PDC
# Beschreibung:         Samba-PDC
# SAMBA-Version         2.0.5a
# angepasst fuer ARKTUR: Joachim Haensel
# nach Vorschlaegen von: Markus Koelle
########################################################

[global]
   server string   = Server %h V3.0 (Samba %v)
   netbios name   = arktur
   message command = /bin/bash -c 'rm %s' &
     workgroup   = SAMBA
   interfaces   =  192.168.0.1/255.255.255.0 
     hosts allow   = 192.168. 127.
     security   = user

   # bei Domain fuer NT4 encrypt auf yes setzen! Workstations entsprechend anpassen! 
     encrypt passwords = yes

     smb passwd file   = /etc/samba/private/smbpasswd
     invalid users   = mail bin daemon lp news uucp man at squid
     unix realname   = yes
     guest account   = nobody
     map to guest   = Bad User

  #---Browsing und WINS-Server------------------------
   os level   = 65
   wins support   = yes
   domain master   = yes
   local master   = yes
   preferred master  = yes
   name resolve order = lmhosts host wins
   dns proxy   = no

  #---Domaenen-Login,  Login-Skript, Profil-Pfad ---
   domain logons   = yes
   logon script   = logon.bat
   logon path   = \\%L\profiles\%U
   logon home   = \\%L\homes
;   logon drive   = h:

  #---Lange Dateinamen und deutsche Umlaute------------
   protocol   = NT1
   default case   = lower
   mangle case   = no
   mangled names   = yes
   case sensitive   = no
   preserve case   = yes
   short preserve case  = yes
   client code page = 850
   character set    = iso8859-1

  #---Druckereinstellungen------------------------------
   printing   = bsd
   printcap name   = /etc/printcap
   load printers   = yes
   print command   = lpr -r -P%p %s
   lpq command   = lpq -P%p
   lprm command   = lprm -P%p %j
   min print space   = 10000

  #---Log-Dateien anlegen---------------------------------------------
   log file   = /var/log/samba/samba.log.%m
   max log size   = 500
   debug level   = 2

  #----Zeit-Server-----------------------------------------
   time server   = yes

  #----Tuning Options--------------------------------
   socket options   = TCP_NODELAY
   getwd cache   = yes
   read size   = 8192
   read prediction   = yes
   write raw   = yes
   read raw   = yes
   dead time   = 1
   keep alive   = 0

  #----DOS-Kompatibilitaet -------------------------
   dos filetimes   = yes
   dos filetime resolution  = yes
   map archive   = yes
   map hidden   = yes
   map system   = yes

  #----File-Locking---------------------------------
   lock directory   = /var/lock
   share modes   = yes
   strict locking   = no
   oplocks      = yes
   fake oplocks   = no

  #----Projekt-Shares in eigener Datei -------------
  # Achtung, dieser Eintrag muss an letzter Stelle
  # in der global-Sektion stehen! 
   include      = /etc/samba/smb.conf.proj

[profiles]
   comment      = Userprofile
   path      = /home/adm/profiles
   read only   = no
   directory mask   = 770
   create mask   = 766
   force group   = lehrer  
   browseable   = no

[netlogon]
   path      = /etc/samba/scripts
   write list    = adm root jochen
   read only    = yes
   create mask   = 764
   map hidden    = no
   map system    = no
   guest ok    = yes
   locking   = no
   browseable   = yes

[homes]
   comment    = Stammverzeichnis %U
   read only    = no
   create mask    = 0764
   hide dot files   = yes
   dont descend   = etc bin netscape
   browseable    = no
   exec       = /bin/bash -c 'cat /etc/motd | /usr/samba/bin/smbclient -M %m -I %I' &
   wide links    = no

[tmp]
   comment    = Datenaustausch
   path       = /home/tmp
   read only    = no
   create mask   = 0766
   directory mask   = 0777
   guest ok    = yes
   wide links    = no

[pub]
   comment    = Unterrichtsmaterial
   path       = /home/adm/pub
   guest ok    = yes
   locking      = no
    create mask   = 0744
   directory mask   = 0755
   wide links   = yes

#[sichern]
#   # auf 2. Festplatte
#   comment    = Sicherungen
#   path       = /hdc/sichern
#   read only   = yes
#   browseable   = no
#   write list   = adm jochen
#   guest ok    = no
#   locking      = yes
#   create mask   = 0764
#   directory mask   = 0775
#   wide links   = yes

[a]
   comment = Diskette in Laufwerk A
   # -- ist inaktiv, aktivieren durch entfernen dieser Zeile available ...
   available    = no
   path       = /a
   read only    = no
   create mask   = 0766
   directory mask   = 0777
   guest ok    = yes
   wide links    = no

[printers]
   comment    = Die Drucker
   # -- ist inaktiv, aktivieren durch entfernen dieser Zeile available ...
   available     = no
   path       = /var/tmp
   create mask    = 0700
   min print space = 10000
   print ok    = yes
   browseable    = no

[cdrom]
   comment    = Die (erste) CDROM
   # -- ist inaktiv, aktivieren durch entfernen dieser Zeile available ...
   available    = no
   path       = /cdrom
   guest ok    = yes
   locking     = no

Nach oben

© Thomas Litsch 1999, Email: thomas.litsch@linux-schule.de