Samba als Windows 2003 Domain Member

Wenn in Firmennetz schon ein AD vorhanden ist und ein Sambaserver benötigt wird, sollte man am besten den Sambaserver als Mitglied der Domäne konfigurieren.

Diese Konfiguration hat in diesem Fall viele vorteile z.B. die Verwaltung von Benutzer und Gruppen findet

auf einem Server statt und zwar auf dem Windows Domänen Conntroller.

 

Ausgangsinformationen:

Domänen Controller (Name): SERV-DC

IP-Adresse des DC: 192.168.0.250

Domäne: monoplan.lokal

 

DC

1.

Es ist sehr wichtig, das die Zeit auf dem Samba Server mit der Zeit auf dem Domänen Controller übereinstimmt. Sollte der Zeitunterschied zu groß sein, dann kann der Samba (Linuxserver) die Domäne nicht beitreten. Ist der Zeitunterschied in schon funktionierendem System falsch, kommt es zu Abbruch der Verbindung. Aus diesem Grund sollten wir die aktuelle Zeit von dem Domänen Controller holen. Wir machen ein Eintrag auf dem Samba Server in /etc/crontab, aber nur ein von beiden hier vorgestellten Einträgen.

# 00 5 * * * root ntpdate serv-dc
00 6 * * * sntp -s serv-dc

2.

Nach der Anpassung von drei Dateien können wir die Domäne beitreten. Bitte Klein- Großschreibung beachten

Kerberos Konfiguration. /etc/krb5.conf

[libdefaults]
    default_realm = MONOPLAN.LOKAL

[realms]
    MONOPLAN.LOKAL = {
    kdc = serv-dc.monoplan.lokal
    admin_server = serv-dc.monoplan.lokal
}

[domain_realm]
    .monoplan.lokal = MONOPLAN.LOKAL

[logging]
    kdc = FILE:/var/log/krb5/krb5kdc.log
    admin_server = FILE:/var/log/krb5/kadmind.log
    default = SYSLOG:NOTICE:DAEMON

 

 

/etc/nsswitch.conf. In dieser Datei sollte man zwei Zeilen anpassen

ist
passwd: compat
group: compat
wird
passwd: files winbind
shadow: files winbind
group: files winbind

 

 

Sollte Sie auf dem Linuxserver keine IP-Adresse des DNS-Server eingetragen haben, müssen Sie es dann in der
/etc/hosts Datei folgender Eintrag vornehmen

 

 

192.168.0.250   serv-dc serv-dc.monoplan.lokal

 

 

 

Samba Hauptkonfigurationsdatei Die Datei /etc/samba/smb.conf wie folgt bitte anpassen

 

[global]
    workgroup = MONOPLAN
    smb ports = 139
    netbios name = linsamba
    realm = MONOPLAN.LOKAL
    idmap uid = 10000-20000
    idmap gid = 10000-20000
    winbind separator = /
    winbind use default domain = Yes
    winbind enum users = yes
    winbind enum groups = yes
    security = ads
    encrypt passwords = yes
    password server = *
    server string = Samba Server
    local master = yes
    os level = 33
    wins server = serv-dc
    nt acl support = No
    printing = cups
    printcap name = cups
    printcap cache time = 750
    cups options = raw

# Freigabe
[software]
    path=/data/software
    comment = Allgemeine Software
    admin users = @MONOPLAN/gruppe-admin
    read list = @MONOPLAN/domänen-benutzer
    write list = @MONOPLAN/gruppe-soft, @MONOPLAN/gruppe-admin
    force group = gruppe-soft
    valid users = @MONOPLAN/domänen-benutzer, @MONOPLAN/gruppe-soft, @MONOPLAN/gruppe-admin
    create mask = 0660
    directory mask = 0770
    read only = No
    browseable = Yes

# Eine Freigabe bei ACL Verwendung
[Data]
    comment = Data Ordner
    path = /data/dataOrdner
    read only = No
    browseable = yes
    inherit acls = yes
    inherit permissions = yes
    # sicherheitskarte wird angezeigt
    nt acl support = yes
    # Benutzer dürfen die Rechte nicht ändern
    acl map full control = false
    # map archive = No
    # Administratoren dieser Freigabe dürfen alles
    admin users = @MONOPLAN/gruppe-admin, sczygiol

 

Die Rechtes des Ordners /data/dataOrdner ändern. Die Änderung ist notwendig, sonnt funktionieren die gesetzte ACL's unter Windows nicht korrekt.

Linux-samba:/ # chmod 2770 /data/dataOrdner
Linux-samba:/ # chown root:root /data/software

 

3.

Um den Maschinen-Account zu erzeugen und diesen mit Windows 2003 Active Directory zu verbinden, muss Kerberos zuerst für den Mitgliedsserver initialisiert werden. Um ein administratives Kerberos-Ticket zu erzeugen, geben Sie folgenden Befehl als root auf dem Mitgliedsserver ein.

 

Linux-samba:/ # kinit Administrator@MONOPLAN.LOKAL

 

 

Bitte beachten Sie unbedingt Groß- Kleinschreibung, sonnst bekommen Sie eine Fehlermeldung, dass der KDC nicht zu finden ist. Beachten Sie bitte auch die Zeit auf dem Linuxserver. Sollte der Unterschied größer als 5 Minuten sein bekommen Sie auch eine Fehlermeldung:

kinit(v5): Clock skew too great while getting initial credentials

In so einem Fall die Zeit korrigieren und noch einmal den Befehl ausführen.

4.

Um sich mit einem Active Directory Server zu verbinden müssen sie folgendes als root eingeben. Dieser Befehl ist gültig ab der Samba-Version 3.2.x

 

Linux-samba:/ # net rpc join -U Administrator

 

 

Nach der Passworteingabe des DomänenControlles sollten Sie folgende Ausgabe bekommen

Joined domain MONOPLAN.
Dannach bitte alle drei Dienste neu starten.

 

Linux-samba:/ # /etc/init.d/winbind restart
Linux-samba:/ # /etc/init.d/smb restart
Linux-samba:/ # /etc/init.d/nmb restart

5.

Aus der Freigabe in der smb.conf kann man entnehmen, dass wir in dieser Freigabe mit drei Gruppen arbeiten,

gruppe-admin - in dieser Gruppe befinden sich die Administratoren
domänen-benutzer - diese Gruppe darf nur lesen  (diese Gruppe existriert schon auf dem DC
gruppe-soft - diese Gruppe darf lesen und schreiben

Die Gruppen auf dem Windows Domänen Controller bitte erstellen und die entsprechende Benutzer zu den Gruppen einfügen*

6.

Auf dem Linuxserver müssen wir noch den Pfad für die Freigabe erstellen und einrichten. Mit dem befehl wbinfo -u werden alle Benutzer aufgelistet und mit dem Befehl wbinfo -g werden alle Gruppen aufgelistet. Wir erstellen ein Ordner und ändern die Rechte

 

Linux-samba:/ # mkdir /data
Linux-samba:/ # mkdir /data/software
Linux-samba:/ # chmod 770 /data/software
Linux-samba:/ # chown root:gruppe-soft /data/software

 

 

Ab jetzt können alle Domänen-Benutzer auf die Freigabe zugreifen und Dateien lesen. Die Gruppe gruppe-soft kann neue Ordner bzw. neue Dateien erstellen und alte bearbeiten.
Sie können weitere Freigaben erstellen und neue Gruppen definieren

 

WICHTIG, wenn Sie z.B. mit Putty per Remote arbeiten.
Wenn Sie in Benutzernamen oder Gruppennamen Umlaute verwenden, dann benutzen Sie in Putty den richtigen Zeichensatz z.B. UTF-8.