Samba - als Domänencontroler zurück
pk-applets

Zur Einrichtung von Samba als Domänencontroler ist auf dem Server und auf den Clients mehr Arbeit und Sorfalt nötig.
Wir verwenden auf dem Server SuSE 9.1 mit Samba 3.0.12.
Die Clients sind WinXP-Rechner, die in der Bibliothek stehen.
Wir benötigen XP Professional!!
Schüler der Oberstufe erhalten Accounts mit Profilen, die auf dem Server abgelegt sind (Roaming Profiles).

Auf dem Server muß ein DNS-Dienst eingerichtet sein.
Dieser muß insbesondere dem Server eine IP fest zuweisen und umgekehrt.

Wir betreiben mit cups einen Drucker.
Eine zusätzliche Raw-Warteschlange wird mit YaST eingerichtet, die auch raw genannt wird.

Der Samba-Server
smb.conf
#**** Samba smb.conf ******************************
#**** Peter Kraus Oktober. 2006 ***********************
 

#*** Global parameters ****************************
#**************************************************
[global]
 workgroup = ag2.de
 netbios name = linux3.ag2.de
  #*** Win-Clients senden verschlüsselte Passwöter ****
 encrypt passwords = Yes
  #*** Nur ansprechbar vom Bibliotheksnetz
 interfaces = 127.0.0.1/255.255.255.255 192.168.3.0/255.255.255.0
 bind interfaces only = yes

 guest account = nobody
logfile = /var/log/samba-log.%m

  #************** Suchdienste ************************
 domain master = yes
  #*** Suchdienst in oder für Domänen
 local master = yes
  #*** zieht Suchdienste an
 preferred master = yes
 os level = 65 
  #*** erzwingt WAhl bei Suchdiensten
  #**** Eigendliche Festlegung als PDC
 Security = user
 domain logons = yes
  #*** That's it **********

  #**** Position der Roaming Profiles für WINXP ... etc ****
  #**** Siehe Freigabe Profiles unten **********************
 logon path = \\%L\profiles\%u
 logon script = CONNECT.BAT

 time server = yes

  #*** Netzwerk-ausdruck ************
 load printers = yes
 printing = cups

  #*** erzeugt log-Files ************
  #*** %m bezieht sich auf PC-Name **
 lock directory = /var/lock/samba
 browseable = Yes

#*** Die einzelnen Shares *************************

#*** Ablegen der Profile **********************
[profiles]
 writable = yes
 create mask = 0600
 directory mask = 0700
 browsable = no
 path = /profiles
 

#*** Im Verzeichnis allerlei darf jeder alles *********
[allerlei]
 comment = allerlei Ramsch
 path = /allerlei
 writeable = Yes
 force create mode = 0777
 force directory mode = 0777
 guest ok = Yes
 browseable = Yes

#*** enthält nur die Batch-Datei, die mit allerlei verbindet
[netlogon]
 path = /pdc
 public = no
 readonly = yes
 browsable = no

#*** Druckerwarteschlange **********************
[raw]
 path = /tmp
 printable = yes
 

Verzeichnisse
Wir erzeugen die Verzeichnisse
/profiles
Profiles enthält die Profile der Benutzer
/pdc
enthält nur eine Batch-Datei connect.bat , die bei Anmeldung mit allerlei verbindet.
net use r: \\linux3.age2.de\allerlei 
/allerlei
unser Ramschverzeichnis, wo jeder alles darf.
Die Dateirechte aller drei Ordner müssen voll freigegeben sein.

Anlegen der MaschinenAccounts
geschieht am schnellsten durch einige Befehle auf der Konsole.
Die Computer in der Bibliothek haben die Namen b1 , b2, ... etc
groupadd comps    erzeugt die Gruppe der Computer.
useradd -g gomps -d /tmp -s /bin/false b1$
MaschinenAccount für Computer b1, b2.. etc erzeugen
-d Homedirectory überflüssig!
-s Shell braucht er auch nicht.
smbpasswd -a -m b1$
b1, b2 ...in die Samba-Passwortdatei aufnehmen.

User anlegen
Nun noch die User aufnehmen.
Dazu eignen sich einige Scripte, sonst dauert das Getippe zu lange.
Script add ( Aufruf add User Kennwort )
#!/bin/sh
#********** Schipt add erstellt Linux-User und samba-User ******
#********** Ein Passwortliste /etc/squidpw wird geführt ********
#********** Peter Kraus Oktober 2006 ***************************

if test $# -eq 2
then
/usr/sbin/htpasswd2 -b /etc/squidpw $1 $2
useradd -d /tmp -p $2 $1
printf "$2\n$2\n" | smbpasswd -a -s $1
echo "User "$1"  Kennwort  "$2
exit 0
fi
echo "Anweisung add Name Passwort"
echo "Nix ist passiert!!" 

Mehrere Benutzer werden mit Script add_data angelegt.
UserName und Kennwort stehen in der Datei /allerlei/data
Jede Zeile einhält jeweils einen User mit Kennwort. Diese Text-Datei sollte im Unix-Format gespeichert sein.
Script add_data ( Aufruf add_data  ohne Parameter!)
#!/bin/sh
#********** Schipt add erstellt Linux-User und samba-User ******
#********** Ein Passwortliste /etc/squidpw wird geführt ********
#********** Die Datei data enthält in jeder Zeile 2 Wörter:  ***
#********** User  und das Passwort *****************************
#********** Peter Kraus Oktober 2006 ***************************

while read LINE; do
  ARR=(${LINE// /' '})
  if [ ${#ARR[*]} -eq 2 ]; then
     /usr/sbin/htpasswd2 -b /etc/squidpw ${ARR[0]} ${ARR[1]}
     useradd -d /tmp -p ${ARR[1]} ${ARR[0]}
     printf "${ARR[1]}\n${ARR[1]}\n" | smbpasswd -a -s ${ARR[0]}
     echo "User "${ARR[0]}"  Kennwort  "${ARR[1]}
     fi
done < /allerlei/data 

Script sub ( Aufruf sub User )
#!/bin/sh
#********** Schipt sub löscht Linux-User und samba-User ********
#********** Ein Passwortliste /etc/squidpw wird korrigiert *****
#********** Das Profil wird gelöscht ***************************
#********** Peter Kraus Oktober 2006 ***************************

if test $# -eq 1
then
smbpasswd -x $1
userdel $1
rm -f -r /profiles/$1
/usr/sbin/htpasswd2 -D /etc/squidpw $1
exit 0
fi
echo "Anweisung sub Name" 

Drei besondere User sind wichtig:
Der User Root erhält einen Samba-Account mit dem Linux-Kennwort.
Der Administrator auf den XP-Clients erhält mit gleichem Kennwort auch einen Samba-Account
Wir richten noch zur Profilerstellung einen User muster ein und zwar nur in der Domäne nicht lokal auf einem Client!

Arbeiten an den Clients

Die Clients erhalten vom XP-Admin die Namen b1, b2,.. und feste IP's
Jeder Client hat dengleichen XP-Admin mit gleichem Kennwort.
Die installierten Programme haben ihre Links bei C:\\Dokumente und Einstellungen\All Users

Wichtig ist ein Eintrag in der Registry:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters
Hier muß DisablePasswordChange auf 1 gesetzt werden.
Dadurch wird verhindert, dass Windows Kennwörter für die MachinenAccounts eigenmächtig ändert.

Anmeldung an die Domäne
Rechte Maus auf Arbeitsplatz , Folder Comptername , Ändern:  Hier Domäne anklicken
und die Bezeichnung der Domäne eingeben. WinXP sucht dann im Netz den DomänenControler.
Nach dem Auffinden noch Root und Linux-Kennwort eingeben und Neustart.

Nach dem Neustart sollte es möglich sein, sich an die Domäne anzumelden.
Dazu einen User wählen, der eben nicht auf dem Client eingerichtet ist.
Dieser User muß dann natürlich Linux-User sein (Siehe YaST Benutzerverwaltung!)
und Samba-User (Siehe Datei /etc/samba/smbpasswd ) An beiden Stellen stehen auch die
Computeraccounts b1$ , b2$ .. etc

Startprofil erstellen
Als Domänenuser muster einloggen und seine Enstellungen z.B. bei Brousern sorgfältig bearbeiten.
Insbesondere Caches reduzieren wie z.B. die Temporären Internet Dateien des IExplorer,
denn da werden viele Bytes sinnlos durchs Netz gejagt!
Abmelden und als XP-Administrator lokal wieder anmelden.
Jetzt ist folgendes passiert und sollte auch nachgeprüft werden:

Jetzt das Pofil kopieren, aber nicht mit dem Windows-Explorer sondern:
Rechte Maus auf Arbeitsplatz , Folder Erweitert - Benutzerprofile - Einstellungen
Hier das Profil ag2.de\muster kopieren nach C:\\Dokumente und Einstellungen\Default User
Der Default User ist i.A. ein versteckter Ordner.
Wenn man z.B. auf dem Desktop oder in Eigene Dateien als User muster irgendeine belanglose Textdatei angelegt hat,
kann man den Kopiervorgang leicht mit dem Win-Explorer nachprüfen!
Man suche in C:\\Dokumente und Einstellungen\Default User!
Meldet man sich nun als neuer Domänenuser an diesem Client an, so sucht WinXP zuerst im Verzeichnis
/profiles nach einem Profil, sprich Ordner.
Bei Miserfolg wird lokal in C:\\Dokumente und Einstellungen\ gesucht. Wenn auch da nix zu finden ist,
wird das Profil mit dem lokalen Default User erstellt. Beim korrekten Abmelden ist dann ein neues Profil in
 /profiles auf den Linuxrechner.
Damit das auf anderen Clients auch klappt, muß auf jedem Client der Default User präpariert werden:
- Als Domänenuser muster einloggen
- Als Domänenuser muster gleich wieder abmelden
- Als XP-Admin lokal anmelden und das Profil ag2.de\muster in den Default User kopieren.