Website-Icon .: blog cscholz.io :.

Debian: Samba3 mit AD Authentifizierung

Um den Zugriff auf Samba Shares über das AD steuer zu können, muss eine Authentifizierung über Kerberos erfolgen. Als erstes müssen die notzwendigen Pakete installiert werden.

apt-get install winbind krb5-doc krb5-user krb5-config

Anschließen ändern Sie bitte zwei Zeilen in der /etc/nsswitch.conf

passwd: files winbind
group: files winbind

Nun passen Sie bitte die Datei /etc/krb5.conf wie abgebildet bitte an Ihre Umgebung an. Achten Sie dabei auf die Groß- & Kleinschreibung.

Um die Verbindung zu den Passwort Datein zu testen kann für AD Abfrage (kann erst am Ende getestet werden)

wbinfo -u (AD User)
wbinfo -g (AD Gruppen)

und für die lokale Passwort Datei

getent passwd
getent group

benutzt werden

192.168.0.210: DomainController
Domain: 2nibbles4u.local

[libdefaults]default_realm = 2NIBBLES4U.LOCAL
clockskew = 300
[realms]2NIBBLES4U.LOCAL = {
        kdc = 192.168.0.210:88
        admin_server = 192.168.0.210:464
        default_domain = 2NIBBLES4U
        kpasswd_server = 192.168.0.210:88
}
[domain_realm].2nibbles4u.local = 2NIBBLES4U.LOCAL
.2NIBBLES4U.LOCAL = 2NIBBLES4U.LOCAL
[logging]default = SYSLOG:NOTICE:DAEMON
kdc = FILE:/var/log/kdc.log
kadmind = FILE:/var/log/kadmind.log
[appdefaults]pam = {
        ticket_lifetime = 1d
        renew_lifetime = 1d
        forwardable = true
        proxiable = false
        retain_after_close = false
        minimum_uid = 0
}

Nun passen Sie die Datei /etc/samba/smb.conf ebenso an:

[global]netbios name = server123
workgroup = 2NIBBLES4U
realm = 2NIBBLES4U.LOCAL
server string =
security = ADS
encrypt passwords = yes
preferred master = no
template shell = /bin/false
template homedir = /home/%D/%U
idmap uid = 10000-20000
idmap gid = 10000-20000
enhanced browsing = no
winbind use default domain = yes
password server = 192.168.0.210
[Remote_Manager]
comment = Remote Manager
path = /shares/Remote Manager
force user = www-data
force group = www-data
# Benutzer freischalten

valid users = 2NIBBLES4uuser123
# Gruppen freischalten
valid users = @"2nibbles4ugruppe123"
public = no
writable = yes
printable = no
create mask = 0765

Jetzt einmal samba und winbind neu starten

/etc/init.d/winbind restart
/etc/init.d/samba restart

Um die Kerberos Authentifizierung zu testen kann testweise ein Ticket angefordert werden.

kinit Domain-Admin

Danach wird das Kennwort verlangt und wenn alles in Ordnung ist, erscheint wieder der normale Prompt. Ob es nun Kerberos geschafft hat, ein Ticket zu eröffnen, kann so angesehen werden:

klist

Die Ausgabe sollte etwa so ausschauen:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@domain.tld
Valid starting Expires Service principal
02/28/08 10:42:45 02/28/08 20:42:30 krbtgt/domain.tld@domain.tld
renew until 02/28/08 20:42:45
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

Falls es nicht klappt, ist allenfalls ein Durcheinander mit den Tickets vorhanden. Dann lassen sich mit folgendem Befehl alle Tickets löschen:

kdestroy

Nehmen Sie nun den PC noch in die Domain auf (der PC darf im AD hinterher nicht verschoben werden):

net ads join -U Administrator
Administrator's password:
Using short domain name -- 2NIBBLES4U
Joined 'dcex01' to realm '2NIBBLES4U.LOCAL'

Um den PC direkt in einer spezielle OU zu erstellen kann die OU angegeben werden

net ads join createcomputer='MH/Computer/Desktop' -U Administrator

Für die Kontrolle des AD Zugriffs bzw. der Samba Konfiguration können folgende Befehle weiterhelfen:

AD User auflisten

net ads user -U Administrator

oder

wbinfo -u

AD Gruppen auflisten

wbinfo -g

Samba Konfiguration prüfen

testparm

AD Verbindung prüfen

net ads info

prüfen ob der PC zum AD hinzugefügt werden kann

net ads testjoin

Kerberos Tickets anzeigen

kinit

Verfügbarkeit der Domains anzeigen

wbinfo --online-status

Links: http://www.debian-administration.org/articles/340
http://www.software-krause.de/index.php?id=40
http://www.brentnorris.net/blog/archives/179
http://www.brentnorris.net/blog/archives/179

Die mobile Version verlassen