[6] Samba jako kontroler domeny AD

19 stycznia 2021 Wyłączono przez Adam [zicherka] Nogły

W tym tutorialu postarm się przedstawić krok po kroku jak zainstalować (bez opisu instalacji samego CentOS8) i skonfigurować Sambę4 do roli kontrolera domeny w usłudze Active Directory na poziomie Windows Server 2008. Wiem, że ten system już nie posiada wsparcia Microsoftu, jednak na potrzeby malej firmy, szkoły czy czegos podobnego spokojnie wystarczy, a jego zapotrzebowanie (CentOS8 + Samba4) zarówno na sprzęt jak i pieniążki jest dużo mniejszy niż oprogramowanie z Redmond. Być może zaglądałeś już na FreeIPA, jako alternatywę dla AD, jednak nie jest to rozwiązanie w pełni kompletne, jak również nie pozwala zarządzać zdalnie serwerem jak w tym przypadku. Owszem zapewnia ono zintegrowane usługi zarządzania i uwierzytelniania dla usług sieciowych w Linux/UNIX. My zaś dostaniemy dostęp do GUI, które pozwoli zdalnie zarządzać i kontrolować użytkowników jak i autentykację na serwerze w organizacji.

Stworzony Kontroler Domeny AD wymaga wiele dodatkowych usług do swojego działania (DNS, Kerberos, LDAP), jednak Samba4 współpracuje z nimi świetnie.

Zespół Samby wykonał kawał dobrej roboty, ułatwiając nam zadania i pracę. Ja sam, czekam niecierpliwie na kolejne wydania Samby, które wdrożą kontroler na poziomie 2012, 2016.

Samba4, jako kontroler domeny AD w obecnej wersji (4.13) obsługuje tylko:

  • Zintegrowane usługi LDAP, jako zaplecze AD
  • Centrum Dystrybucji Kluczy (KDC) Heimdal Kerberos.

Środowisko wdrożeniowe

Do instalacji, testów i wdrożenia uzyłem systemu CentOS8Stream, Microsoft Windows 10 Professional. Wszystko to zostało zainstalowane na maszynie virtualnej VMWare ESXi 7.0. Każdy z wirtualnych komputerów posiada jedną kartę sieciową i ma dostęp do Internetu. Poniżej zaprezentuję ustawienia i parametry systemów. Pozostale ustawienia sieciowe powinny umożliwić dostęp do Internetu, wzajemne PING’i – ale to już we własnym zakresie 😉 .

  System
CentOS8 Stream Windows 10 Professional
FQDN vlsr01.zicher.lab wcl01.zicher.lab
IP adres 192.168.100.51 192.168.100.61
DNS 192.168.100.51 192.168.100.51

 

[1] Wymagania przed instalacyjne

Zgodnie z oficjalną dokumentacja Samby należy wykonać wstępne dopasowanie/skonfigurowanie systemu przed właściwą instalacją jako Kontroler Domeny AD.

[1.1] Sprawdzenie montowania systemu plików z opcją ACL

Aby skonfigurować opcje montowania dysków z opcją kontroli dostępu (ACL), system musi mieć włączoną przestrzeń nazw i użytkownikow xattr. Na kontrolerze domeny (DC) Samba automatycznie sprawdza to ustawienie dla systemu plików, na którym jest stworzony udział Sysvol.

Upewnij się, że poniższe opcje w jądrze są włączone:

CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y

Aby to sprawdzić, najpierw dowiedzmy się, jakie dokładnie jądro posiadamy i jakie jest ładowane w czasie rozruchu systemu.

[root@vlsr01 ~]# uname -r
4.18.0-259.el8.x86_64

Następnie sprawdźmy konfigurację jądra ładowanego w czasie startu systemu.

[root@vlsr01 ~]# grep -E "CONFIG_EXT4_FS_SECURITY|CONFIG_EXT4_FS_POSIX_ACL" /boot/config-4.18.0-259.el8.x86_64

CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y

[1.2] Konfiguracja pliku hosts

Sprawdźmy czy plik /etc/hosts na kontrolerze domeny poprawnie będzie rozwiązywał pełne domenowe nazwy (FQDN) i krótkie nazwy hostów po adresie IP w sieci, w której Samba ma pracować jako DC AD.

127.0.0.1               localhost localhost.localdomain localhost4 localhost4.localdomain4

::1                     localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.100.51          vlsr01 vlsr01.zicher.lab

[1.3] Czyszczenie systemu

UWAGA!

Jeśli Samba nie była nigdy wcześniej instalowana lub wybrano konfigurację minimalna do instalacji systemu, to możesz pominąć ten krok.

Sprawdź czy nie pracują jakieś poprzednio zainstalowane demony Samby

[root@vlsr01 ~]# ps ax | egrep "samba|smbd|nmbd|winbind"

   1333 pts/0    R+     0:00 grep -E --color=auto samba|smbd|nmbd|winbind

W tym przypadku (świeża i czysta instalacja systemu) nie mamy problemów z „resztkami” poprzedniej Samby. Jeżeli na liście znalazłyby się jakiekolwiek procesy samba, smbd, nmbd, lub winbindd należy je wyłączyć.

Skasuj istniejący (jeśli jest) plik konfiguracyjny smb.conf. Jeśli istniała wcześniejsza instalacja to zobaczmy jego lokalizację:

[root@vlsr01 ~]# smbd -b | grep "CONFIGFILE"
CONFIGFILE: /usr/local/samba/etc/samba/smb.conf

Kasujemy wszystkie pliki baz danych Samby, takie jak: *.tdb i *.ldb. Aby je znaleźć (jeśli istnieją):

[root@vlsr01 ~]# smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"  LOCKDIR: /usr/local/samba/var/lock/

STATEDIR: /usr/local/samba/var/locks/
CACHEDIR: /usr/local/samba/var/cache/
PRIVATE_DIR: /usr/local/samba/private/

Kasujemy istniejący plik konfiguracyjny /etc/krb5.conf:

[root@vlsr01 ~]# rm /etc/krb5.conf
rm: usunąć plik zwykły '/etc/krb5.conf'? t

[1.4] Włączamy wymagane/potrzebne repozytoria

Dla systemu CentOS8 musimy zainstalować kilka dodatkowych, a wymaganych repozytoriów. Kilka z nich jest domyślnie instalowanych w systemie w czasie instalacji.

EPEL repo nie jest częścią domyślnie instalowanych repozytoriów – dlatego też zainstalujemy go.

[root@vlsr01 ~]# dnf install epel-release

Następnym wymaganym repozytorium jest dnf-plugins-core, aby aby później włączyć yum config-manager, a następnie włączyć PowerTools z repozytorium CentOS.

[root@vlsr01 ~]# dnf install dnf-plugins-core

[root@vlsr01 ~]# dnf config-manager --set-enabled powertools

Sprawdzamy czy są faktycznie zainstalowane wymagane repozytoria.

[root@vlsr01 ~]# dnf repolist

identyfikator repozytorium              nazwa repozytorium
appstream                               CentOS Stream 8 - AppStream
baseos                                  CentOS Stream 8 - BaseOS

epel                                    Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                            Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                  CentOS Stream 8 - Extras
powertools                              CentOS Stream 8 - PowerTools

[2] Instalacja wymaganych, a brakujących paczek. Zainstalujemy poniższe pakiety, które są niezbędne do konfiguracji, kompilacji i następnie do instalacji Samby ze źródeł.

UWAGA!

Jeśli chcemy zainstalować i używać również CUPS’a, to koniecznie zainstaluj ostatnią paczkę (cups-devel). Domyślnie Samba kompilowana jest z opcją –enable-cups i nie zgłasza błędów w czasie kompilacji, jednak uruchomienie Samby z opcją pirinting = cups powoduję błąd.

[root@vlsr01 ~]# dnf install docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel keyutils-libs-devel krb5-workstation libacl-devel libaio-devel libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel tar zlib-devel libtirpc libtirpc-devel cups-devel

UWAGA!

Samba4, gdy jest instalowana z paczek RPM w systemie CentOS8 wspiera tylko członkostwo w domenie i PDC i/lub BDC na poziomie NT4. RedHat nie posiada paczek PRM w swoich repozytoriach, które wspierają/obsługują DC AD. Dlatego też konieczne jest pobranie i skompilowanie Samby ze źródeł.

[3] Download najświeższych źródeł Samby. W czasie pisania tego poradnika najnowszą dostępną stabilną wersją Samy jest 4.13.3. Możesz pobrać ją ze strony : https://download.samba.org/pub/samba/stable.

[root@vlsr01 ~]# wget https://download.samba.org/pub/samba/stable/samba-4.13.3.tar.gz

Po pobraniu trzeba rozpakować zawartość archiwum.

[root@vlsr01 ~]# tar -zxvf samba-4.13.3.tar.gz

Przechodzimy do dopiero co rozpakowanego katalogu ze źródłami.

[root@vlsr01 ~]# cd samba-4.13.3

Skrypt konfiguracyjny znajduje się w głównym katalogu ze źródłami.

UWAGA!

Domyślnie samba jest kompilowana z –enable-cups

My jednak zrobimy małą zmianę w stosunku do domyślnej konfiguracji i włączymy „na siłę” obsługę CUPS oraz skonfigurujemy sambę z opcją selftestem, który pokaże nam co jej jeszcze brakuje i/lub co ją w dalszym ciągu boli.

[root@vlsr01 samba-4.13.3]# ./configure --enable-selftest --enable-cups

Jeżeli nie ma błędów po konfiguracji, a ostatnia wyświetlona linijka jest podobna do:

'configure' finished successfully (45.447s)

to możemy przejść do kolejnego kroku. U mnie jednak wyskoczył błąd brakującej paczki dbus-1:

Checking for dbus                                                                               : not found

vfs_snapper is enabled but prerequisite dbus-1 package not found. Use --with-shared-modules=!vfs_snapper to disable vfs_snapper support.

(complete log in /root/samba-4.13.3/bin/config.log)

Nic to jednak, doinstalujemy ją:

[root@vlsr01 samba-4.13.3]# dnf install dbus-devel

Czyli wracamy do momentu konfiguracji i oczekujemy naszego upragnionego komunikatu o zakończeniu poprawnej konfiguracji.

W razie problemów, errorów i nie wiadomo czego jeszcze, zapraszam do oficjalnej dokumentacji Samby: Build Samba from Source – SambaWiki

UWAGA!

Komenda make może być uruchomiona równolegle w kilku procesach. Przykładowo, aby uruchomić ją jako 3 równoległe procesy wydaj polecenie: make –j3

[root@vlsr01 samba-4.13.3]# make

Jeżeli wszystko jest OK, czyli Samba skopilowała się bez błędów otrzymamy na końcu taki komunikat:

Waf: Leaving directory `/root/samba-4.13.3/bin/default'

Build commands will be stored in bin/default/compile_commands.json

'build' finished successfully (9m39.029s)

Teraz z konta z uprawnieniami root’a wydajemy komendę do instalacji Samby:

[root@vlsr01 samba-4.13.3]# make install

Jeżeli nie wyskoczyły żadne głędy to mamy zainstalowaną Sambę w CentOS8 i zobaczymy poniższy komunikat:

Waf: Leaving directory `/root/samba-4.13.3/bin/default'

Build commands will be stored in bin/default/compile_commands.json

'install' finished successfully (2m49.521s)

[4] Ustawienie zmiennych. Samba skompilowana ze źródeł, nie dodaje ścieżek dostępu do swoich wykonywalnym plików/poleceń. Więc jeśli nie chcesz co chwilę klepać pełnej ścieżki dostępu do plików Samby, dodaj ścieżki przeszukiwania do swojego pliku profilowego.

export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH

Ta komenda doda ścieżki tylko na czas obecnej sesji. Aby zmiany odniosły skutek na stale należy dopisać/dodać do pliku .bash_profile ścieżki przeszukiwania jak poniżej.

[root@vlsr01 ~]# cat .bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/samba/bin/:/usr/local/samba/sbin/
export PATH

Edycja tego pliku jest odpowiedzialna za stałe dołączenie tych ścieżek do bieżącego użytkownika (tutaj root). Jeśli chcesz dodać je do wszystkich użytkowników to zmień/dodaj wpisy w pliku /etc/profile.

[5] Promowanie Samby do Kontrolera Domeny Active Directory (DC AD). Proces promowania domeny ustawia całą infrastrukturę potrzebną Sambie do działania w domenie Active Directory. Są to między innymi LDAP, DNS, Kerberos. Promowanie Samby do pracy w domenie przeprowadza proces tworzenia bazy danych AD, wpisow początkowych w katalogach i dodanie rekordów startowych. Są to między innymi potrzebne wpisy w DNS, oraz utworzenie konta administratora domeny.

UWAGA!

Kiedy promujesz nowy katalod AD, rekomenduję włączenie rozszerzeń NIS za pomocą parametru –use-rfc2307 w czasie użycia komendy samba-tool domain provision. command. Opcja ta włącza przechowywanie atrybutów UNIX’owych w strukturze AD, takich jak UID, GID, ścieżki katalogów domowych. Włączenie tych rozszeżeń nie powoduje żadnych komplikacji czy utrudnień. Jednak włączenie ich w działającej już domenie wymaga ręcznego rozszerzenia struktury AD.

[root@vlsr01 ~]# samba-tool domain provision --use-rfc2307 --interactive --option="interfaces= lo ens192" --option="bind interfaces only=yes"

Realm [ZICHER.TEST]:  ZICHER.TEST
Domain [ZICHER]:  ZICHER
Server Role (dc, member, standalone) [dc]:  dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:  SAMBA_INTERNAL
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.100.1]:  8.8.8.8
Administrator password:
Retype password:

Proces zostanie ukończony gdzy nie wyświetli się żaden komunikat błędu, a jednym z ostatnich wierszy będzie wpis z SID’em domeny.

INFO 2021-01-15 18:29:02,102 pid:52659 /usr/local/samba/lib64/python3.6/site-packages/samba/provision/__init__.py #498: DOMAIN SID:            S-1-5-21-3207383390-561080335-1318255751

[6] Konfiguracja resolvera DNS. Członkowie domeny AD używają DNS do lokalizacji usług takich jak na przykład Kerberos, LDAP. Domain members in an AD use DNS to locate services, such as LDAP and Kerberos. Dlatego też muszą oni użyć serwera DNS, aby mógł on rozpoznać strefę DNS w AD.

Na DC ustawimy domenę AD, która będzie przeszukiwana, oraz adres IP serwera, który jest DC w AD. Parametry te ustawiamy/wpisujemy/zmieniamy w pliku /etc/resolv.conf.

[root@vlsr01 ~]# cat /etc/resolv.conf

# Generated by NetworkManager
search zicher.test
nameserver 192.168.100.51

[7] Start usługi Samba. Wykonaj jako użytkownik root.

[root@vlsr01 ~]# samba

Skompilowana ze źródeł Samba, nie posiada żadnego skryptu startowego. Owszem można dodać tę komendę do Crontaba, który wykona ją w czasie startu systemu. Jednak, gdy będziemy chcieli zrestartować usługę trzeba skorzystać z polecenia kill/pkill.

Dla wykonania dalszych czynności „zabijamy” Sambę:

[root@vlsr01 ~]# pkill samba

Dlatego też dodamy tę usługę do systemd, który pozwoli w elegancki sposób nią sterować. Tworzymy plik /etc/rc.d/init.d/samba-ad, który wygląda jak poniżej (wzięte ze strony samba.org):

#!/bin/bash
#
# samba-ad-dc This shell script takes care of starting and stopping
#             samba AD daemons.
#
# chkconfig: - 58 74
# description: Samba Active Directory Domain Controller

### BEGIN INIT INFO
# Provides: samba-ad-dc
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Should-Start: $syslog $named
# Should-Stop: $syslog $named
# Short-Description: start and stop samba-ad-dc
# Description: Samba Active Directory Domain Controller
### END INIT INFO

# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog=samba
prog_dir=/usr/local/samba/sbin/
lockfile=/var/lock/subsys/$prog
start() {
       [ "$NETWORKING" = "no" ] && exit 1
       echo -n $"Starting Samba AD DC: "
       daemon $prog_dir/$prog -D
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && touch $lockfile
       return $RETVAL
}
 stop() {
       [ "$EUID" != "0" ] && exit 4
       echo -n $"Shutting down Samba AD DC: "
       killproc $prog_dir/$prog
       RETVAL=$?
       echo
       [ $RETVAL -eq 0 ] && rm -f $lockfile
       return $RETVAL
}

case "$1" in
start)
       start
       ;;
stop)
       stop
       ;;
status)
       status $prog
       ;;
restart)
       stop
       start
       ;;
*)
       echo $"Usage: $0 {start|stop|status|restart}"
       exit 2
esac

Następnie nadajemy mu atrybut wykonywalności:

[root@vlsr01 ~]# chmod +x /etc/rc.d/init.d/samba-ad

Aby Samba startowała wraz z systemem wydajemy polecenie:

[root@vlsr01 ~]# chkconfig samba-ad on

Ręczny start/stop/restart status Samy jest możliwy za pomocą poleceń:

[root@vlsr01 ~]# systemctl stop samba-ad
[root@vlsr01 ~]# systemctl start samba-ad
[root@vlsr01 ~]# systemctl restart samba-ad
[root@vlsr01 ~]# systemctl status samba-ad
 samba-ad.service - LSB: start and stop samba-ad-dc
   Loaded: loaded (/etc/rc.d/init.d/samba-ad; generated)
   Active: active (running) since Fri 2021-01-15 19:12:27 CET; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 56406 ExecStop=/etc/rc.d/init.d/samba-ad stop (code=exited, status=0/SUCCESS)
  Process: 56435 ExecStart=/etc/rc.d/init.d/samba-ad start (code=exited, status=0/SUCCESS)
    Tasks: 58 (limit: 5957)
   Memory: 207.3M
   CGroup: /system.slice/samba-ad.service
           ├─56455 /usr/local/samba/sbin//samba -D
[…]

[8] Weryfikacja usługi Samba. Po uruchomieniu usługi Samby, możemy sprawdzić czy wszystko jest OK. Wykonamy polecenie testparm, które pokaże nam ustawienia Samby i sprawdzi czy plik konfiguracyjny smb.conf jest w porządku, pokaże także podstawowe informacje o konfiguracji Samby.

[root@vlsr01 ~]# testparm

Load smb config files from /usr/local/samba/etc/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_ACTIVE_DIRECTORY_DC

Press enter to see a dump of your service definitions

# Global parameters
[global]
        bind interfaces only = Yes
        dns forwarder = 8.8.8.8
        interfaces = lo ens192
        passdb backend = samba_dsdb
        realm = ZICHER.TEST
        server role = active directory domain controller
        workgroup = ZICHER
        rpc_server:tcpip = no
        rpc_daemon:spoolssd = embedded
        rpc_server:spoolss = embedded
        rpc_server:winreg = embedded
        rpc_server:ntsvcs = embedded
        rpc_server:eventlog = embedded
        rpc_server:srvsvc = embedded
        rpc_server:svcctl = embedded
        rpc_server:default = external
        winbindd:use external pipes = true
        idmap_ldb:use rfc2307 = yes
        idmap config * : backend = tdb
        map archive = No
        vfs objects = dfs_samba4 acl_xattr

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/zicher.test/scripts
        read only = No 

Test samej Samby4

[root@vlsr01 ~]# smbclient --version
Version 4.13.3

Sprawdzimy czy wyświetlone udostępnione katalogi są widoczne.

[root@vlsr01 ~]# smbclient -L localhost -U%

        Sharename       Type      Comment
        ---------       ----      -------
        sysvol          Disk
        netlogon        Disk
        IPC$            IPC       IPC Service (Samba 4.13.3)
SMB1 disabled -- no workgroup available

Kolejno sprawdzimy autentykację. Spróbujemy zalogować się do udziału netlogon za pomocą konta administratora i ustawionego dla niego wcześniej hasła.

[root@vlsr01 ~]# smbclient //localhost/netlogon -Uadministrator -c 'ls'

Enter ZICHER\administrator's password:
  .                                   D        0  Fri Jan 15 18:28:54 2021
  ..                                  D        0  Fri Jan 15 18:28:59 2021
7759872 blocks of size 1024. 4773940 blocks available

[9] Strefa odwrotna DNS (Reverse Zone). Dodamy teraz strefę odwrotną – wyszukiwania wstecz.

[root@vlsr01 ~]# samba-tool dns zonecreate 192.168.100.51 100.168.192.in-addr.arpa -U administrator

Password for [ZICHER\administrator]:
Zone 100.168.192.in-addr.arpa created successfully

Jeśli posiadasz więcej stref niż jedna, uruchom powyższą komendę ponownie, jedynie zmień informacje dotyczące sieci.

Strefa odwrotna żyje/działa „swoim życiem” bez restartu Samby czy BIND’a.

[10] Konfiguracja serwera czasu NTP (chrony). Dla prawidłowego działania usługa Active Directory potrzebuje synchronizacji czasu pomiędzy DC AD a klientem. Dlatego też użyjemy chrony, jako serwera czasu w naszej domenie, który w nawet minimalnej instalacji powinien być zainstalowany. Jednak w razie „W”, to:

[root@vlsr01 ~]# dnf install chrony
[root@vlsr01 ~]# systemctl enable --now chronyd

Teraz czas na jego konfigurację:

[root@vlsr01 ~]# mcedit /etc/chrony.conf

Odszukujemy następującą linię, odkomentowujemy ją i zmieniamy adres sieci na Nasz. Zapisujemy i restart chrony’ego.

allow 192.168.100.0/24

[root@vlsr01 ~]# systemctl restart chronyd

Teraz aby klienty mogły poprosić o czas, musimy otworzyć firewalld:

[root@vlsr01 ~]# firewall-cmd --add-service=ntp --permanent

[root@vlsr01 ~]# firewall-cmd --reload

[11] Konfiguracja Kerberos’a. W Active Directory, Kerberos jest używany do autentykacji użytkowników, komputerów i usług. Podczas promowania Samba utworzyła plik konfiguracyjny dla Kerberos’a. Nam pozostaje jedynie skopiować go w odpowiednie miejsce i gotowe.

[root@vlsr01 ~]# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

W przypadku, gdy system zapyta o nadpisane pliku /etc/krb5.conf odpowiadamy twierdząco – naciskamy y. Wstępnie utworzona konfiguracja wykorzystuje wpisy DNS do lokalizacji centrum dystrybucji kluczy.

[12] Weryfikacja DNS. W celu sprawdzenia czy wpisy do AD są OK, zainstalujemy narzędzie BIND’a.

[root@vlsr01 samba-4.13.3]# dnf install bind-utils

Rekord SRV _ldap oparty na tcp w domenie:

[root@vlsr01 ~]# host -t SRV _ldap._tcp.zicher.test.

_ldap._tcp.zicher.test has SRV record 0 100 389 vlsr01.zicher.test.

Rekord zasobu _kerberos SRV oparty na UDP w domenie:

[root@vlsr01 ~]# host -t SRV _kerberos._udp.zicher.test.

_kerberos._udp.zicher.test has SRV record 0 100 88 vlsr01.zicher.test.

Rekord A w kontrolerze domeny:

[root@vlsr01 ~]# host -t A vlsr01.zicher.test.

vlsr01.zicher.test has address 192.168.100.51

[13] Weryfikacja Kerberos. Poprosimy teraz o bilet dla konta Administratora domeny:

[root@vlsr01 ~]# kinit Administrator
Password for Administrator@ZICHER.TEST:
Warning: Your password will expire in 41 days on pią, 26 lut 2021, 18:28:59

Lista zachowanych biletow Kerberos:

[root@vlsr01 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@ZICHER.TEST

Valid starting       Expires              Service principal
15.01.2021 20:30:07  16.01.2021 06:30:07  krbtgt/ZICHER.TEST@ZICHER.TEST
renew until 16.01.2021 20:30:01

[14] Konfiguracja Firewalld. Użyjemy wbudowanej w CentOS zapory, czyli Firewalld. Musimy zezwolić na dostęp do usług i portów, aby DC AD działał prawidłowo.

[root@vlsr01 ~]# firewall-cmd --add-service={dns,ldap,ldaps,kerberos,samba-dc} --permanent

[root@vlsr01 ~]# firewall-cmd --add-port={389/udp,135/tcp,135/udp,138/udp,138/tcp,137/tcp,137/udp,139/udp,139/tcp,445/tcp,445/udp,3268/udp,3268/tcp,3269/tcp,3269/udp,49152/tcp} --permanent

Następnie przeładujemy zaporę, aby wprowadzić w życie jej ustawienia.

[root@vlsr01 ~]# firewall-cmd --reload

[15] Zarządzanie Sambą, jako Kontroler Domeny. Samba zainstalowana, skonfigurowana i uruchomiona – to teraz musimy umożliwić logowanie do niej użytkownikom. Wyświetlmy jacy użytkownicy już istnieją w katalogu AD.

[root@vlsr01 ~]# samba-tool user list
krbtgt
Administrator
Guest

Użytkownicy jacyś są, ale nie ma takiego o jakim marzyliśmy, wiec stworzymy teraz takiego użytkownika.

[root@vlsr01 ~]# samba-tool user create zicherka
New Password:
Retype Password:
User 'zicherka' created successfully

Użytkownicy są już OK, to teraz czas na grupy. Wyświetlimy istniejące, a następnie zmodyfikujemy nieco przydział użytkowników do grup.

[root@vlsr01 ~]# samba-tool group list

Dodamy teraz utworzonego wcześniej użytkownika „zicherka” do grupy „Domain Admins”.

[root@vlsr01 ~]# samba-tool group addmembers "Domain Admins" zicherka
Added members to group Domain Admins

Sprawdźmy zatem, czy faktycznie użytkownik „zicherka” został dodany do grupy „Domain Admins”.

[root@vlsr01 ~]# samba-tool group listmembers "Domain Admins"
Administrator
zicherka