samba 4 active directory
Привет,
Днес реших да споделя за новата ми играчка – а именно samba 4 active directory – или иначе казано, подкарах напълно функциониращ Active Directory сървър под линукс, и така спрях Windows 2008 R2 сървър който работеше само за това и ядеше 4 гб рам ей така.. от нищото..
Цялата работа с Active Directory е възможно благодарение на новата версия на samba – а именно версия 4, която позволява самият демон samba да работи като AD. След успешната му инсталация, AD сървъра може да се управлява през Windows машина след като се инсталира така нареченият : Microsoft’s Remote Server Administration Tools.
Този туул работи на Windows XP, Vista, 7 но трябва версията им да е Professional.
Ето и накратко как става работата, като примера който ще дам е за AD върху CentOS:
1. Трябва да се логнете като root в сървъра и да пуснете ъпдейт на пакетите:
# yum update
2. Трябва да се инсталират и следните пакети които са необходими за компилирането на Samba 4:
# yum install glibc glibc-devel gcc python* libacl-devel krb5-workstation krb5-libs pam_krb5 openldap-devel
3. Проверяваме дали вече нямаме инсталирана по-стара версия на samba която трябва да премахнем:
# rpm -qa | grep samba
4. Ако имаме по-стара версия, махаме я чрез:
# yum remove samba-winbind-client samba-common samba-client
5. Инсталираме git чрез който ще изтеглим и samba 4:
# yum install git-core
6. Изтегляме последната версия на samba 4:
# git clone git://git.samba.org/samba.git samba-master
7. Рестартираме сървъра за да всеки случай:
# reboot
8. Логваме се отново като root и започваме с компилирането на samba 4:
# cd samba-master # ./configure --enable-debug --enable-selftest # make
9. Ако всичко е ок, продължаваме напред:
# make install
След успешно инсталиране, директорията и конфигурационните файлове на samba 4 се намират на : ‘/usr/local/samba’.
Следва и конфигурирането на Active Directory сървъра:
[root@samba ~]# /usr/local/samba/bin/samba-tool domain provision Realm [ROOT.BG]: ROOTBG.DC Domain [ROOTBG]: ROOT.BG Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: DNS forwarder IP address (write 'none' to disable forwarding) [10.0.20.3]: Administrator password: Retype password: Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=rootbg,DC=dc Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=rootbg,DC=dc Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: samba NetBIOS Domain: ROOT.BG DNS Domain: rootbg.dc DOMAIN SID: S-1-5-21-520620405-2705991534-2248172295
Стартираме samba 4 демона чрез :
/usr/local/samba/sbin/samba
А за автоматично стартиране на сървъра, можем да добавим този ред в rc.local конфига :
echo "/usr/local/samba/sbin/samba" > /etc/rc.local
Накрая пускаме и проверка да видим дали е ок всичко:
[root@samba ~]# /usr/local/samba/sbin/samba -V Version 4.2.0pre1-GIT-efad13a [root@samba ~]#
[root@samba ~]# /usr/local/samba/bin/smbclient -L localhost -U% Domain=[ROOT.BG] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-efad13a] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk box Disk Office docs root.bg Disk root.bg docs soft Disk Software IPC$ IPC IPC Service (Samba 4.2.0pre1-GIT-efad13a) Domain=[ROOT.BG] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-efad13a] Server Comment --------- ------- Workgroup Master --------- ------- [root@samba ~]#
[root@samba ~]# host -t SRV _ldap._tcp.rootbg.dc. _ldap._tcp.rootbg.dc has SRV record 0 100 389 samba.rootbg.dc. [root@samba ~]# host -t SRV _kerberos._udp.rootbg.dc. _kerberos._udp.rootbg.dc has SRV record 0 100 88 samba.rootbg.dc. [root@samba ~]# host -t A samba.rootbg.dc. samba.rootbg.dc has address 10.0.20.2[
Следва и конфигурирането на Kerberos:
cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf
Трябва да се промени реда default_realm от ${REALM} на името на realm-a :
cat /etc/krb5.conf [libdefaults] default_realm = ROOTBG.DC dns_lookup_realm = false dns_lookup_kdc = true
И тестването да покаже това:
[root@samba samba]# kinit Administrator@ROOTBG.DC Password for Administrator@ROOTBG.DC: Warning: Your password will expire in 41 days on Sun May 4 02:54:08 2014 [root@samba samba]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@ROOTBG.DC Valid starting Expires Service principal 03/23/14 18:12:28 03/24/14 04:12:28 krbtgt/ROOTBG.DC@ROOTBG.DC renew until 03/24/14 18:12:25 [root@samba samba]#
Накрая инсталираме Windows Remote Administration Tools:
1. Изтегляме Windows Remote Server Administration Tools
2. Следваме инструкциите за ‘Install RSAT’
3. Инсталираме необходимите компоненти от ‘Control Panel > Programs > Turn Windows features on or off > Remote Server Administration Tools’
Това е 🙂 Вече имаме работещ Active Directory сървър на нашият linux сървър, без да е необходимо да използваме услугите на Microsoft – и по-специално да имаме Windows Server!