[6] Samba jako kontroler domeny AD
19 stycznia 2021W 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