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
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 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
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
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
Samba Hauptkonfigurationsdatei Die Datei /etc/samba/smb.conf wie folgt bitte anpassen
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:/ # 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.
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
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/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/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.