Installation von Samba
Samba 3.0 unterscheidet sich von früheren Samba-Versionen dadurch, dass es die Fähigkeit besitzt, in Windows-Netzwerken zu arbeiten, die im Active Directory-Modus (oder im nativen Windows 2000-Modus) betrieben werden. Wenn diese Funktionalität erforderlich ist, sollte das Paket samba3-3.0 anstelle von samba-2.2 installiert werden.
Active Directory verwendet ein anderes Namensschema für Domänen, Computer und Benutzer, das auf DNS basiert. Nehmen wir an, es gibt ein Netzwerk mit dem Namen my.firm.com und den Computern host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; dann würde die Active Directory-Domäne my.firm.com heißen, und die Active Directory-Benutzer hätten Namen im Format user@my.firm.com.
/etc/krb5.conf muss mindestens die folgenden Zeilen enthalten:
[realms]
MY.FIRM.COM = {
kdc = your.kerberos.server
}
wobei MY.FIRM.COM der Domänenname (oder „Realm“ in der Kerberos-Terminologie; muss zwingend in Großbuchstaben angegeben werden) und your.kerberos.server der Name oder die IP-Adresse des KDC (Kerberos Domain Controller), analog zum PDC (Primary Domain Controller) in Windows NT-Domänen, ist – zum Beispiel server.my.firm.com oder 192.168.117.11.
Richtigkeit der Parametereingabe kann überprüft werden, indem der Befehl ausgeführt wird (ersetzen Sie den Benutzernamen durch den tatsächlichen – zum Beispiel administrator@MY.FIRM.COM):
# kinit username@REALM
und sicherstellen, dass das Passwort vom Server akzeptiert wurde. REALM wird immer in Großbuchstaben angegeben.
Sie müssen auch sicherstellen, dass der KDC-Name über seine IP-Adresse abgerufen werden kann (sogenannter Reverse-DNS-Lookup). Der KDC-Name muss entweder mit dem NetBIOS-Namen des Computers übereinstimmen (Maschinenname im Windows-Netzwerk ohne Domänennennung) oder aus dem NetBIOS-Namen und dem Domänennamen bestehen. Wenn der KDC-Name nicht über die Adresse abgerufen werden kann, erhalten Sie einen „local error“-Fehler beim Versuch, sich in der Domäne anzumelden.
Wenn Ihr DNS keinen Reverse-Lookup unterstützt oder der KDC nicht in DNS registriert ist, können Sie die Zuordnung von IP-Adresse und Name in /etc/hosts angeben.
Für den Betrieb in Active Directory muss smb.conf folgende Parameter enthalten:
[global] # Задает Kerberos realm, обычно совпадает с именем домена в # верхнем регистре, например realm = MY.FIRM.COM realm = <REALM> # Это обычно часть реалма до первой точки, например # workgroup = MY workgroup = <WORKGROUP> # Тип домена - Active Directory. security = ADS # В случае Active Directory пароли всегда шифруются. encrypt passwords = true # Обычно этот параметр указывать не обязательно, т.к. Samba сама # определяет адрес KDC, если в сети есть WINS-сервер и он указан # в smb.conf ads server = <your.kerberos.server>
Stellen Sie sicher, dass Samba nicht läuft. Wenn es läuft, muss es gestoppt werden:
# service smb stop; service winbind stop
Führen Sie den folgenden Befehl aus, um den Computer der Domäne hinzuzufügen:
# net ads join -U administrator
wobei administrator der Benutzername eines Domänenbenutzers ist, der das Recht hat, neue Konten zu erstellen.
Wenn keine Fehlermeldung ausgegeben wurde, wurde der Computer erfolgreich in der Domäne registriert – andernfalls überprüfen Sie die Richtigkeit der Parametereingabe in /etc/samba/smb.conf und /etc/krb5.conf. Stellen Sie sicher, dass der Benutzer, der nach -U in net ads join angegeben wird, die erforderlichen Rechte zum Erstellen neuer Konten hat.
Nun können Sie die erforderlichen Dienste starten:
# service smb start; service winbind start
Sie sollten eine Liste der verfügbaren Ressourcen erhalten, wobei smbclient nicht nach Benutzername und Passwort fragen darf.
Um zu überprüfen, ob der Zugriff auf die Ressourcen Ihres Rechners von anderen Maschinen in der Domäne möglich ist, können Sie denselben Befehl ausführen:
$ smbclient -k -L <имя вашего компьютера в домене>
und die Liste der verfügbaren Ressourcen abrufen. Alternativ können Sie versuchen, eine Ressource auf Ihrem Rechner von einer Windows-Maschine aus zu öffnen, die zur Domäne gehört. In jedem Fall dürfen Benutzername und Passwort nicht abgefragt werden.
Im Gegensatz zu Windows NT-Domänen erfolgt die Authentifizierung in Active Directory nicht über Benutzername und Passwort, sondern mittels Kerberos-Tickets. Daher kann die Arbeit mit smbclient anfangs ungewöhnlich erscheinen.
Erstens muss beim Aufruf von smbclient die Option -k angegeben werden. Zweitens werden Kerberos-Tickets für eine bestimmte Zeit ausgestellt (normalerweise für einen Tag, dies hängt jedoch von den Servereinstellungen ab). Daher müssen sie regelmäßig mit dem Befehl kinit aktualisiert werden:
# kinit username@REALM
wobei username Ihr Benutzername im Active Directory-Domänenrealm REALM ist.
Wenn smbclient plötzlich keine Verbindung zu den Domänenressourcen mehr herstellen kann, versuchen Sie, das Ticket zu aktualisieren – sehr wahrscheinlich liegt es daran.
