LX-SVS-INFO-samba-in-AD
Updated jun/12/11 09:50
In dit artikel wordt een debian6 squeeze Samba Server in het domein van een Active Directory 2003 server opgenomen. Hiervoor wordt o.a. gebruik gemaakt van winbind. De Linux Samba server 'ziet' de domein gebruikers en groepen.
We gaan er van uit dat debian geinstalleerd is en werkt en dat samba getest is en werkt zoals in artikel http://www.linux800.be/lx-svs-info-samba.php punt 8.
# apt-get install krb5-user winbind
We moeten eerst de originele /etc/krb5.conf config-file bewaren:
# mv /etc/krb5.conf /etc/krb5.conf.ori
Hierna beginnen we een krb5.conf vanaf nul.
We werken met de volgende situatie in dit voorbeeld:
Ons domein is windom1.local
Onze windows 2003 Primary Domain Controller heet w2003-1
en heeft als ip-adres 192.168.1.240
Onze samba server heet pc00 en heeft als ip-adres 192.168.1.220
Dit heeft gewerkt, doe geen cut en paste, maar tik dit zelf geformatteerd met TABS in: |
Dit WERKT NIET want GEEN TABS |
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log [libdefaults] default_realm = WINDOM1.LOCAL dns_lookup_realm = false dns_lookup_kdc = true ticket_lifetime = 24000 [realms] WINDOM1.LOCAL = { kdc = w2003-1.windom1.local:88 admin_server = w2003-1.windom1.local:749 default_domain = windom1.local } [domain_realm] .windom1.local = WINDOM1.LOCAL windom1.local = WINDOM1.LOCAL |
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log [libdefaults] default_realm = WINDOM1.LOCAL dns_lookup_realm = false dns_lookup_kdc = true ticket_lifetime = 24000 [realms] WINDOM1.LOCAL = { kdc = w2003-1.windom1.local admin_server = w2003-1.windom1.local default_domain = windom1.local } [domain_realm] .windom1.local = WINDOM1.LOCAL windom1.local = WINDOM1.LOCAL |
anders werkt er niets:
search windom1.local domain windom1.local nameserver 192.168.1.240 # ip address from PDC |
127.0.0.1 localhost localhost.windom1.local pc00 pc00.windom1.local 127.0.1.1 pc00 192.168.1.240 w2003-1.windom1.local w2003-1 |
pc00 |
onder debian squeeze:
# kinit administrator@WINDOM1.LOCAL
Password for administrator@BERT.LOCAL: ********
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@WINDOM1.LOCAL
Valid starting Expires Service principal
06/06/11 12:38:07 06/06/11 19:18:07 krbtgt/WINDOM1.LOCAL@WINDOM1.LOCAL
# kinit Administrator@EXAMPLE.NET
Password for Administrator@EXAMPLE.NET: **********
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@EXAMPLE.NET
Valid starting Expires Service principal
08/06/09 12:09:34 08/06/09 22:09:39 krbtgt/EXAMPLE.NET@EXAMPLE.NET
renew until 08/07/09 12:09:34
Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached
De configuratiefile /etc/samba/smb.conf wordt gebackupped:
# cp /etc/samba/smb.conf /etc/samba/smb.conf.ori
We passen de [global] settings aan; de rest van je server, je shares, blijven onaangepast.
# vim /etc/samba/smb.conf
[global] workgroup = WINDOM1 realm = WINDOM1.LOCAL netbios name = pc00 server string = %h server (Samba %v, Ubuntu) dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d security = ADS domain master = no idmap uid = 10000-20000 idmap gid = 10000-20000 template shell = /bin/bash template homedir = /home/%D/%U winbind enum groups = yes winbind enum users = yes winbind use default domain = yes winbind separator = + usershare allow guests = yes # ... hier volgen je shares |
# testparm
Er komt een waarschuwing over het gebruik van + maar dat is geen probleem.
# /etc/init.d/winbind stop
# /etc/init.d/samba restart
# /etc/init.d/winbind start
Voeg je samba server toe aan het AD domein met het volgende commando:
# net ads join -U Administrator@WINDOM1.LOCAL
Administrator's Password:*********
Using short domain name - WINDOM1
Joined 'PC00' to realm 'WINDOM1.LOCAL'
Maar dat lukt niet altijd:
# net ads join -U Administrator@WINDOM1.LOCAL
Enter Administrator@WINDOM1.LOCAL's password:
Failed to join domain: failed to find DC for domain WINDOM1.LOCAL
# net ads info
LDAP server: 192.168.x.x
LDAP server name: yourdomaincontroller.example.net
Realm: EXAMPLE.NET
Bind Path: dc=EXAMPLE, dc=NET
LDAP port: 389
Server time: tHU, 06 aUG 2009 15:36:46 EST
KDC server: 192.168.x.x
Server time offset: 1
# vim /etc/nsswitch.conf
passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns wins networks: files dns protocols: db files services: db files ethers: db files rpc: db files netgroup: nis |
Herstart nu nogmaals samba en winbind:
# /etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
# /etc/init.d/winbind restart
Stopping the Winbind daemon: winbind.
Starting the Winbind daemon: winbind.
# wbinfo -u
Administrator
Guest
User1
User2
# wbinfo -g
Domain AdminsJe kan tenslotte inloggen op een XP-client in het domein, met een usernaam van het domein, en automatisch toegang krijgen tot de Linux SAMBA server.
original by mislam on howtoforge.com; he concluded: "I hope it helps."
http://www.howtoforge.com/ubuntu-9.04-samba-server-integrated-with-active-directory
http://www.surlyjake.com/2009/05/join-debian-lenny-to-active-directory-using-samba/
http://www.howtoforge.com/ubuntu-9.04-samba-server-integrated-with-active-directory
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/NetCommand.html