====== Samba 4 AD telepítése RHEL/Almalinux 9 (x86_64) rendszeren. ======
A telepítéshez és az üzemeltetéshez szükséges dokumentáció a [[https://samba.tranquil.it/doc/en/]] címen érhető el.
===== Előkészítés =====
Kiindulásként AlmaLinux 9 (x86_64) operációs rendszer telepítését kell elvégezni. A telepítés minimal telepítés.
===== Telepítést követő lépések =====
Módosítani kell a /etc/dnf/dnf.conf állományt a felesleges gyenge függőségek telepítésének tiltásához:
# if [ ! -f /etc/dnf/dnf.conf.orig ] ; then cp -a /etc/dnf/dnf.conf /etc/dnf/dnf.conf.orig && echo 'install_weak_deps=False' >> /etc/dnf/dnf.conf ; fi
Érdemes kikapcsolni a kernel üzenetek megjelenítését
# grubby --update-kernel=ALL --args=quiet
A SElinux-ot átmenetileg megengedő módba kell kapcsolni
# sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
Be kell állítani a rendszer locale-t en_US.UTF-8-ra
# localectl
Be kell állítani a rendszer hostnevét a kívánt gépnév + realm formában
# hostnamectl set-hostname dc1.adomain.lan
==== Samba 4 AD telepítése ====
=== Előkészítő műveletek ===
A telepítés előtt be kell állítani a gép hálózatát statikus IP-re. A példában a dc1.adomain.lan gép IP címe 192.168.110.11/24.
Fel kell venni a gép FQDN-t a /etc/hosts állományba
# cat > /etc/hosts <
Telepíteni kell az EPEL release csomagot
# dnf install epel-release
Telepíteni kell néhány kiegészítő csomagot
# dnf install bind-utils chrony krb5-workstation
Le kell tölteni és telepíteni kell a csomagok aláíró kulcsát
# curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9 https://samba.tranquil.it/RPM-GPG-KEY-TISSAMBA-9
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3147 100 3147 0 0 16650 0 --:--:-- --:--:-- --:--:-- 16650
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9
Létre kell hozni a samba csomagokat tartalmazó repo fájlt
# echo -e "[tis-samba]\nname=tis-samba\nbaseurl=https://samba.tranquil.it/redhat9/samba-4.20/\nenabled=1\ngpgcheck=1\ngpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-TISSAMBA-9\npriority=98" > /etc/yum.repos.d/tissamba.repo
Telepíteni kell a samba-dc csomagot
# dnf install samba-dc
Biztonsági másolatot kell készíteni a /etc/krb5.conf állományról
# [ ! -f /etc/krb5.conf.orig ] && cp -a /etc/krb5.conf /etc/krb5.conf.orig
Biztonsági másolatot kell készíteni a /etc/samba/smb.conf állományról (az állományt magát törölni kell).
# [ ! -f /etc/samba/smb.conf.orig ] && mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
Érdemes biztonsági másolatot készíteni a /var/lib/samba könyvtárról. Ez a könytár visszaállítható, ha a provisioning sikertelen.
# [ ! -d /var/lib/samba.orig ] && cp -a /var/lib/samba /var/lib/samba.orig
Tűzfal konfiguráció módosítása
# firewall-cmd --permanent --remove-service=cockpit --remove-service=dhcpv6-client
success
# firewall-cmd --permanent --add-service=samba-dc
success
# firewall-cmd --reload
success
# firewall-cmd --list-services
samba-dc ssh
==== Samba 4 provision ====
A domain előkészítéséhez az alábbi utasítást kell futtatni
# samba-tool domain provision --use-rfc2307 --domain=ADOMAIN --realm=ADOMAIN.LAN
INFO 2025-09-06 13:36:56,500 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #2414: gkdi/gmsa root key added with guid 2a4c9b44-1396-beda-f6f7-b30e2970cf03
INFO 2025-09-06 13:36:56,500 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #2425: A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf
INFO 2025-09-06 13:36:56,501 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #2427: Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!
INFO 2025-09-06 13:36:56,556 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #2086: Setting up fake yp server settings
INFO 2025-09-06 13:36:56,628 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #492: Once the above files are installed, your Samba AD server will be ready to use
INFO 2025-09-06 13:36:56,628 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #497: Server Role: active directory domain controller
INFO 2025-09-06 13:36:56,628 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #498: Hostname: dc1.adomain.lan
INFO 2025-09-06 13:36:56,628 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #499: NetBIOS Domain: ADOMAIN
INFO 2025-09-06 13:36:56,629 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #500: DNS Domain: adomain.lan
INFO 2025-09-06 13:36:56,629 pid:17 /usr/lib64/python3.9/site-packages/samba/provision/__init__.py #501: DOMAIN SID: S-1-5-21-3755515453-789900971-4137546087
Be kell állítani az admin felhasználó jelszavát
# samba-tool user setpassword administrator
New Password:
Retype Password:
Changed password OK
Át kell állítani a /etc/krb5.conf állományát
# rm -f /etc/krb5.conf
# ln -s ../var/lib/samba/private/krb5.conf /etc/krb5.conf
Engedélyezni kell és el kell indítani a samba szolgáltatást
# systemctl --now enable samba
=== Ellenőrzések ===
Konfiguráció érvényessége
# samba-tool testparm
INFO 2025-09-07 21:38:45,357 pid:257 /usr/lib64/python3.9/site-packages/samba/netcmd/testparm.py #96: Loaded smb config files from /etc/samba/smb.conf
INFO 2025-09-07 21:38:45,357 pid:257 /usr/lib64/python3.9/site-packages/samba/netcmd/testparm.py #97: Loaded services file OK.
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns forwarder = 8.8.8.8
netbios name = DC1
realm = ADOMAIN.LAN
server role = active directory domain controller
workgroup = ADOMAIN
idmap_ldb:use rfc2307 = yes
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/adomain.lan/scripts
read only = No
Névfeloldás működése
# host -t A hup.hu 127.0.0.1
hup.hu has address 92.119.122.43
# host -t A adomain.lan 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
# host -t SRV _ldap._tcp.adomain.lan 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
_ldap._tcp.adomain.lan has SRV record 0 100 389 dc1.adomain.lan.
A tesztek végén módosítható a gép nameserver beállítása
# cat /etc/resolv.conf
# Generated by NetworkManager
search adomain.lan
nameserver 127.0.0.1
Kerberos működése
# kinit administrator@ADOMAIN.LAN
Password for administrator@ADOMAIN.LAN:
Warning: Your password will expire in 41 days on Sat 18 Oct 2025 01:46:03 PM CEST
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@ADOMAIN.LAN
Valid starting Expires Service principal
09/06/2025 14:17:40 09/07/2025 00:17:40 krbtgt/ADOMAIN.LAN@ADOMAIN.LAN
renew until 09/07/2025 14:17:28
Ha nem működik, akkor törölni kell a /etc/krb5.conf szimbolikus linket és létre kell hozni a fájlt az alábbi tartalommal
# cat > /etc/krb5.conf <
Domain szintű ellenőrzések
# samba-tool domain level show
Domain and forest function level for domain 'DC=adomain,DC=lan'
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
# samba-tool user list
Guest
krbtgt
Administrator
Időszinkron beállítása
A tartományba léptetett Windows kliensek a tartományvezérlőt használják időszinkronként. Ennek beállításához szükséges a chrony konfigurációjának módosítása.
Eredeti konfiguráció (felesleges üres sorok és a kommentezett tartalom nélkül)
# cat /etc/chrony.conf
pool 2.almalinux.pool.ntp.org iburst
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
Módosított konfiguráció (engedélyezett kliens tartomány és samba aláíró socket könyvtár megadással)
pool 2.almalinux.pool.ntp.org iburst
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
allow 192.168.110.0/24
ntpsigndsocket /var/lib/samba/ntp_signd
Zárt hálózaton a *pool* és a *server* sorokat törölni kell és be kell állítani a helyi forrást
sourcedir /run/chrony-dhcp
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
ntsdumpdir /var/lib/chrony
leapsectz right/UTC
logdir /var/log/chrony
allow 192.168.110.0/24
ntpsigndsocket /var/lib/samba/ntp_signd
local stratum 10
Újra kell indítani a szolgáltatást
# systemctl restart chronyd
Ellenőrizni kell, hogy a status oldalon megjelenik az 'MS-SNTP authentication enabled' bejegyzés.
Engedélyezni kell a tűzfalon az NTP szolgáltatást
# firewall-cmd --permanent --add-service=ntp
success
# firewall-cmd --add-service=ntp
success
===== Általános műveletek =====
Listázzuk a jelenlegi jelszó beállításokat
# samba-tool domain passwordsettings show
Password information for domain 'DC=adomain,DC=lan'
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 7
Minimum password age (days): 1
Maximum password age (days): 42
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30
Módosítsunk néhány beállítást
# samba-tool domain passwordsettings set --complexity=off --min-pwd-age=0 --max-pwd-age=180 --min-pwd-length=5 --history-length=0
Password complexity deactivated!
Password history length changed!
Minimum password length changed!
Minimum password age changed!
Maximum password age changed!
All changes applied successfully!
Ellenőrizzük a módosítást
# samba-tool domain passwordsettings show
Password information for domain 'DC=adomain,DC=lan'
Password complexity: off
Store plaintext passwords: off
Password history length: 0
Minimum password length: 5
Minimum password age (days): 0
Maximum password age (days): 180
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30
==== Felhasználó létrehozása ====
# samba-tool user add teszt.elek 12345678 --surname=Teszt --given-name=Elek
User 'teszt.elek' added successfully
# samba-tool user list
Administrator
teszt.elek
krbtgt
Guest
# samba-tool user show teszt.elek
dn: CN=Elek Teszt,CN=Users,DC=adomain,DC=lan
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Elek Teszt
sn: Teszt
givenName: Elek
instanceType: 4
whenCreated: 20250907181629.0Z
whenChanged: 20250907181629.0Z
displayName: Elek Teszt
uSNCreated: 4286
name: Elek Teszt
objectGUID: eaaebe56-2ea8-43c4-a3e3-cac45d4eb7dc
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
primaryGroupID: 513
objectSid: S-1-5-21-4057828206-964441470-1345394844-1104
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: teszt.elek
sAMAccountType: 805306368
userPrincipalName: teszt.elek@adomain.lan
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=adomain,DC=lan
pwdLastSet: 134017425895426721
userAccountControl: 512
uSNChanged: 4288
distinguishedName: CN=Elek Teszt,CN=Users,DC=adomain,DC=lan
==== Felhasználó átnevezése ====
# samba-tool user rename teszt.elek --force-new-cn='Teszt Elek'
Renamed CN of user "teszt.elek" from "Elek Teszt" to "Teszt Elek" successfully
# samba-tool user show teszt.elek
dn: CN=Teszt Elek,CN=Users,DC=adomain,DC=lan
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
sn: Teszt
givenName: Elek
instanceType: 4
whenCreated: 20250907182955.0Z
displayName: Elek Teszt
uSNCreated: 4290
objectGUID: 9a3b3706-9934-4d04-8239-4d809059fad8
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
primaryGroupID: 513
objectSid: S-1-5-21-4057828206-964441470-1345394844-1105
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: teszt.elek
sAMAccountType: 805306368
userPrincipalName: teszt.elek@adomain.lan
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=adomain,DC=lan
pwdLastSet: 134017433955222440
userAccountControl: 512
cn: Teszt Elek
name: Teszt Elek
whenChanged: 20250907183000.0Z
uSNChanged: 4293
distinguishedName: CN=Teszt Elek,CN=Users,DC=adomain,DC=lan
==== Felhasználó jelszavának alaphelyzetbe állítása ====
# samba-tool user setpassword teszt.elek
New Password:
Retype Password:
Changed password OK
==== Felhasználó törlése ====
# samba-tool user delete teszt.elek
Deleted user teszt.elek
===== Különleges műveletek =====
==== LDAP szerkesztő használata ====
Telepítés
# dnf install ldapvi
Használat (jelszó megadása nélkül)
EDITOR=mcedit ldapvi -h ldaps://adomain.lan -D 'administrator@adomain.lan' -b dc=adomain,dc=lan --tls allow
Használat (jelszó megadásával)
EDITOR=mcedit ldapvi -h ldaps://adomain.lan -D 'administrator@adomain.lan' -w 'JELSZÓ' -b dc=adomain,dc=lan --tls allow
==== Tanúsítványok ellenőrzése ====
Alap beállításban a tanúsítványok 2 évig érvényesek. Lehetőségünk van a beépített CA vagy külső CA által létrehozott tanúsítványok használatára.
CA tanúsítvány
# openssl x509 -in /var/lib/samba/private/tls/ca.pem -noout -subject -issuer -dates
subject=O=Samba Administration, OU=Samba - temporary autogenerated CA certificate, CN=DC1.ADOMAIN.LAN.adomain.lan
issuer=O=Samba Administration, OU=Samba - temporary autogenerated CA certificate, CN=DC1.ADOMAIN.LAN.adomain.lan
notBefore=Sep 6 18:34:00 2025 GMT
notAfter=Aug 7 18:34:00 2027 GMT
Szerver tanúsítvány
# openssl x509 -in /var/lib/samba/private/tls/cert.pem -noout -subject -issuer -dates
subject=O=Samba Administration, OU=Samba - temporary autogenerated HOST certificate, CN=DC1.ADOMAIN.LAN.adomain.lan
issuer=O=Samba Administration, OU=Samba - temporary autogenerated CA certificate, CN=DC1.ADOMAIN.LAN.adomain.lan
notBefore=Sep 6 18:34:00 2025 GMT
notAfter=Aug 7 18:34:00 2027 GMT
==== Jelszó kiolvasása ====
Alapértelmezetten a Samba/AD környezetben nem olvashatók a felhasználók jelszavai. Az alábbi módszer elérhetővé teszi a felhasználók jelszavait különböző formátumokban.
Az eredeti leírás itt érhető el [[https://dev.tranquil.it/wiki/SAMBA_-_Synchronisation_des_mots_de_passe_entre_un_Samba4_et_une_OpenLDAP]]
Telepítsük a rng-tools csomagot
# dnf install rng-tools
Indítsuk el az rngd programot
# rngd -r /dev/urandom
Hozzunk létre a root home könyvtárában egy samba-key állományt
Jelszó nélküli változat
# cat > ~/samba-key <
Jelszavas változat (nem javasolt)
# cat > ~/samba-key <
Kulcs generálása
# gpg --batch --gen-key samba-key
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 8BD35A7382342574 marked as ultimately trusted
gpg: directory '/root/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/root/.gnupg/openpgp-revocs.d/4FF18900270A797E203556178BD35A7382342574.rev'
Kulcsazonosító kinyerése
# gpg --list-keys --with-colon samba 2> /dev/null | awk -F: '/^pub:/ { print $5 }'
8BD35A7382342574
A /etc/samba/smb.conf [global] szakaszának módosítása a 'password hash gpg key ids' paraméterrel.
# cat /etc/samba/smb.conf
# Global parameters
[global]
dns forwarder = 8.8.8.8
netbios name = DC1.ADOMAIN.LAN
realm = ADOMAIN.LAN
server role = active directory domain controller
workgroup = ADOMAIN
idmap_ldb:use rfc2307 = yes
password hash gpg key ids = 8BD35A7382342574
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/adomain.lan/scripts
read only = No
Újraindítás
# systemctl restart samba
Felhasználói jelszó kiolvasása (még nem történt jelszó csere)
# samba-tool user getpassword --filter=samaccountname=administrator --attributes=msDS-KeyVersionNumber,unicodePwd,virtualClearTextUTF16,virtualClearTextUTF8 --decrypt-samba-gpg
dn: CN=Administrator,CN=Users,DC=adomain,DC=lan
msDS-KeyVersionNumber: 2
unicodePwd:: BAs5tGohOTjuEgFnlyYGIQ==
Any available password returned OK
Felhasználói jelszó kiolvasása (az új felhasználó létrehozása után vagy jelszó csere esetén látható az eredmény)
# samba-tool user getpassword --filter=samaccountname=teszt.elek --attributes=msDS-KeyVersionNumber,unicodePwd,virtualClearTextUTF16,virtualClearTextUTF8 --decrypt-samba-gpg
dn: CN=Teszt Elek,CN=Users,DC=adomain,DC=lan
msDS-KeyVersionNumber: 2
unicodePwd:: JZdFyxI6UqouaTqqzKLbUg==
virtualClearTextUTF16:: MQAyADMANAA1ADYANwA4AA==
virtualClearTextUTF8:: MTIzNDU2Nzg=
Any available password returned OK
# echo -n MTIzNDU2Nzg= | base64 -d
12345678
===== Linux kliens beléptetése a tartományba =====
Minimal telepítés után be kell állítani a hálózatot, hogy a névfeloldási kérelmek a Samba 4 DC szerver felé menjenek. A példa konfigurációban a kliens gép címe: 192.168.110.21/24, a DC szerver címe 192.168.110.11.
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.110.11
==== Kerberos + LADP (realmd) ====
Telepíteni kell az alábbi csomagokat
# dnf install adcli oddjob oddjob-mkhomedir realmd sssd
Listázni kell a domain adatokat
# realm discover ADOMAIN.LAN
adomain.lan
type: kerberos
realm-name: ADOMAIN.LAN
domain-name: adomain.lan
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
login-formats: %U@adomain.lan
login-policy: allow-realm-logins
Csatlakozni kell a tartományhoz
# realm join ADOMAIN.LAN -U Administrator --client-software=sssd
Password for Administrator@ADOMAIN.LAN:
Warning: Your password will expire in 179 days on Sat Mar 7 12:43:03 2026
Állítsuk be az SSSD-t mint hitelesítési forrást
# authselect select sssd --force
Backup stored at /var/lib/authselect/backups/2025-09-13-04-46-03.QleGaH
Profile "sssd" was selected.
The following nsswitch maps are overwritten by the profile:
- passwd
- group
- netgroup
- automount
- services
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
Engedélyezzük a home könyvtár létrehozását
# authselect enable-feature with-mkhomedir
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
- with-mkhomedir is selected, make sure pam_oddjob_mkhomedir module
is present and oddjobd service is enabled and active
- systemctl enable --now oddjobd.service
Engedélyezzük és indítsuk el az oddjobd és az sssd szolgáltatásokat
# systemctl enable oddjobd sssd
# systemctl restart oddjobd sssd
Csatlakozás ellőrzése kliens oldalon
# realm list
adomain.lan
type: kerberos
realm-name: ADOMAIN.LAN
domain-name: adomain.lan
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
login-formats: %U@adomain.lan
login-policy: allow-realm-logins
Csatlakozás ellenőrzése szerver oldalon
# samba-tool computer list
DC1$
CLIENT1$
# samba-tool computer show CLIENT1
dn: CN=CLIENT1,CN=Computers,DC=adomain,DC=lan
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
objectClass: computer
cn: CLIENT1
instanceType: 4
whenCreated: 20250908172757.0Z
whenChanged: 20250908172757.0Z
uSNCreated: 4297
name: CLIENT1
objectGUID: 32f949fe-6606-474f-bbac-3d58953c5c09
userAccountControl: 69632
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
primaryGroupID: 515
objectSid: S-1-5-21-3005407612-655364726-173448620-1107
accountExpires: 9223372036854775807
sAMAccountName: CLIENT1$
sAMAccountType: 805306369
operatingSystem: redhat-linux-gnu
dNSHostName: client1
servicePrincipalName: host/CLIENT1
servicePrincipalName: RestrictedKrbHost/CLIENT1
objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=adomain,DC=lan
isCriticalSystemObject: FALSE
msDS-SupportedEncryptionTypes: 24
pwdLastSet: 134018260773846470
lastLogonTimestamp: 134018260774397570
uSNChanged: 4299
lastLogon: 134018260778089100
logonCount: 2
distinguishedName: CN=CLIENT1,CN=Computers,DC=adomain,DC=lan
Kliens oldalon a csatlakozás után létrejön a /etc/sssd/sssd.conf állomány az alábbi tartalommal
# cat /etc/sssd/sssd.conf
[sssd]
domains = adomain.lan
config_file_version = 2
services = nss, pam
[domain/adomain.lan]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = ADOMAIN.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = adomain.lan
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad
Végezzük el az ellenőrzéseket
# sss_cache -E
# systemctl restart sssd
# getent passwd teszt.elek
# getent passwd ADOMAIN\\teszt.elek
teszt.elek@adomain.lan:*:1930201104:1930200513:Teszt Elek:/home/teszt.elek@adomain.lan:/bin/bash
# getent passwd teszt.elek@adomain
teszt.elek@adomain.lan:*:1930201104:1930200513:Teszt Elek:/home/teszt.elek@adomain.lan:/bin/bash
# getent passwd teszt.elek@adomain.lan
teszt.elek@adomain.lan:*:1930201104:1930200513:Teszt Elek:/home/teszt.elek@adomain.lan:/bin/bash
Módosítsuk a beállításokat az alábbiak szerint
# cat /etc/sssd/sssd.conf
[sssd]
domains = adomain.lan
config_file_version = 2
services = nss, pam
[domain/adomain.lan]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = ADOMAIN.LAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u
ad_domain = adomain.lan
use_fully_qualified_names = False
ldap_id_mapping = True
access_provider = ad
Végezzük el az ellenőrzést
# getent passwd teszt.elek
teszt.elek:*:1930201104:1930200513:Teszt Elek:/home/teszt.elek:/bin/bash
# su - teszt.elek
Creating home directory for teszt.elek.
$ id teszt.elek
uid=1930201104(teszt.elek) gid=1930200513(domain users) groups=1930200513(domain users)
$ exit
==== LDAP (sssd-ldap) ====
DC szerveren érdemes létrehozni egy OU-t, amibe a szervíz hozzáférések kerülnek
# samba-tool ou add 'OU=ServiceUsers'
Added ou "OU=ServiceUsers,DC=adomain,DC=lan"
Létre kell hozni az LDAP lekérésekhez egy felhasználót (jelszó ne járjon le)
# samba-tool user add ldapbind '12345678' --userou='OU=ServiceUsers'
User 'ldapbind' added successfully
# samba-tool user setexpiry ldapbind --noexpiry
Expiry for user 'ldapbind' disabled.
Kliens oldalon telepíteni kell az alábbi csomagokat
# dnf install authselect sssd-ldap oddjob-mkhomedir
Be kell állítani az SSSD konfigurációs állományát
# cat > /etc/sssd/sssd.conf <<'EOF'
[sssd]
domains = adomain.lan
config_file_version = 2
services = nss, pam
[domain/adomain.lan]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
ldap_uri = ldaps://dc1.adomain.lan, ldaps://dc2.adomain.lan
ldap_search_base = DC=adomain,DC=lan
ldap_schema = ad
ldap_default_bind_dn = CN=ldapbind,OU=ServiceUsers,DC=adomain,DC=lan
ldap_default_authtok = 12345678
ldap_id_mapping = True
ldap_referrals = False
ldap_user_search_base = CN=Users,DC=adomain,DC=lan
ldap_group_search_base = CN=Groups,DC=adomain,DC=lan
# SSL / TLS
ldap_tls_reqcert = never
EOF
Állítsuk be az SSSD-t mint hitelesítési forrást
# authselect select sssd --force
Backup stored at /var/lib/authselect/backups/2025-09-13-04-46-03.QleGaH
Profile "sssd" was selected.
The following nsswitch maps are overwritten by the profile:
- passwd
- group
- netgroup
- automount
- services
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
Engedélyezzük a home könyvtár létrehozását
# authselect enable-feature with-mkhomedir
Make sure that SSSD service is configured and enabled. See SSSD documentation for more information.
- with-mkhomedir is selected, make sure pam_oddjob_mkhomedir module
is present and oddjobd service is enabled and active
- systemctl enable --now oddjobd.service
Engedélyezzük és indítsuk el az oddjobd és az sssd szolgáltatásokat
# systemctl enable oddjobd sssd
# systemctl restart oddjobd sssd
Tesztelni kell a beállításokat
# id teszt.elek
uid=1930201104(teszt.elek) gid=1930200513(Domain Users) groups=1930200513(Domain Users)
# id teszt.elek@adomain
uid=1930201104(teszt.elek) gid=1930200513(Domain Users) groups=1930200513(Domain Users)
[root@client1 sssd]# id teszt.elek@adomain.lan
uid=1930201104(teszt.elek) gid=1930200513(Domain Users) groups=1930200513(Domain Users)
Új csoport létrehozása a DC szerveren
# samba-tool group add logread --description 'Naplókat ellenőrző felhasználók'
Added group logread
Felhasználó hozzáadása a csoporthoz
# samba-tool group addmembers logread teszt.elek
Added members to group logread
Ellenőrzés a kliens oldalon
# sss_cache -E
# id teszt.elek
uid=1930201104(teszt.elek) gid=1930200513(Domain Users) groups=1930200513(Domain Users),1930201118(logread)
# getent group logread
logread:*:1930201118:teszt.elek
# getent group 'Domain Users'
Domain Users:*:1930200513:
===== Új tartományvezérlő hozzáadása =====
Az új tartományvezérlő telepítése és beállítása a provision műveletig megegyezik.
==== Beállítások mindkét gépen ====
A replikációs környezet mindkét gépét fel kell venni a /etc/hosts állományba
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.110.11 dc1.adomain.lan dc1
192.168.110.12 dc2.adomain.lan dc2
Mindkét gépen működnie kell az időszinkron szolgáltatásnak
# timedatectl
Local time: Tue 2025-09-09 20:55:34 CEST
Universal time: Tue 2025-09-09 18:55:34 UTC
RTC time: n/a
Time zone: Europe/Budapest (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Midkét gépnek azonos nyelvi környezettel kell rendelkeznie
# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: (unset)
X11 Layout: (unset)
==== Beállítások a replikán ====
Az elsődleges névszerver a forrás gépre mutasson
# cat /etc/resolv.conf
# Generated by NetworkManager
search adomain.lan
nameserver 192.168.110.11
Csatlakozni kell a meglévő DC-hez
# samba-tool domain join adomain.lan DC -U administrator@ADOMAIN.LAN
INFO 2025-09-09 20:22:01,103 pid:308 /usr/lib64/python3.9/site-packages/samba/join.py #1622: Joined domain ADOMAIN (SID S-1-5-21-3005407612-655364726-173448620) as a DC
Hasonlítsuk össze a forrás és a cél DC samba konfigurációját
# cat /etc/samba/smb.conf
# Global parameters
[global]
dns forwarder = 8.8.8.8, 8.8.4.4
netbios name = DC2
realm = ADOMAIN.LAN
server role = active directory domain controller
workgroup = ADOMAIN
idmap_ldb:use rfc2307 = yes
ad dc functional level = 2016
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/adomain.lan/scripts
read only = No
El kell indítani a samba szolgáltatást
# systemctl --now enable samba
Ellenőrizni kell a replikációt
# host -t SRV _ldap._tcp.adomain.lan
_ldap._tcp.adomain.lan has SRV record 0 100 389 dc1.adomain.lan.
_ldap._tcp.adomain.lan has SRV record 0 100 389 dc2.adomain.lan.
# host -t SRV _kerberos._tcp.adomain.lan
_kerberos._tcp.adomain.lan has SRV record 0 100 88 dc1.adomain.lan.
_kerberos._tcp.adomain.lan has SRV record 0 100 88 dc2.adomain.lan.
Utolsó lépésként módosítsuk a névszerver beállításokat
# cat /etc/resolv.conf
# Generated by NetworkManager
search adomain.lan
nameserver 192.168.110.11
nameserver 192.168.110.12
==== Beállítások a forrás gépen ====
Ellenőrizzük a replikációt
# samba-tool drs showrepl
Default-First-Site-Name\DC1
DSA Options: 0x00000001
DSA object GUID: 1d002858-83a4-4629-8de8-af0d62cf1cff
DSA invocationId: 7d083a57-9c70-48a5-bdc2-b0ca1b7344a1
==== INBOUND NEIGHBORS ====
DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ Tue Sep 9 21:06:01 2025 CEST was successful
0 consecutive failure(s).
Last success @ Tue Sep 9 21:06:01 2025 CEST
DC=DomainDnsZones,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ Tue Sep 9 21:06:01 2025 CEST was successful
0 consecutive failure(s).
Last success @ Tue Sep 9 21:06:01 2025 CEST
DC=ForestDnsZones,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ Tue Sep 9 21:06:01 2025 CEST was successful
0 consecutive failure(s).
Last success @ Tue Sep 9 21:06:01 2025 CEST
CN=Configuration,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ Tue Sep 9 21:06:01 2025 CEST was successful
0 consecutive failure(s).
Last success @ Tue Sep 9 21:06:01 2025 CEST
CN=Schema,CN=Configuration,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ Tue Sep 9 21:06:01 2025 CEST was successful
0 consecutive failure(s).
Last success @ Tue Sep 9 21:06:01 2025 CEST
==== OUTBOUND NEIGHBORS ====
DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=DomainDnsZones,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=ForestDnsZones,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
CN=Configuration,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
CN=Schema,CN=Configuration,DC=adomain,DC=lan
Default-First-Site-Name\DC2 via RPC
DSA object GUID: 45997a6c-ae6d-4350-affc-b42b182fd457
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
==== KCC CONNECTION OBJECTS ====
Connection --
Connection name: 73416208-dc03-4633-9d5b-4bbe13aba35c
Enabled : TRUE
Server DNS name : dc2.adomain.lan
Server DN name : CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
TransportType: RPC
options: 0x00000001
Warning: No NC replicated for Connection!
Végezzük el az adatbázisok ellenőrzését
# samba-tool dbcheck --cross-ncs
Checking 3863 objects
WARNING: target DN is deleted for msDS-NC-Replica-Locations in object CN=536ea47c-3ac9-47b5-a87c-7eb4c03be986,CN=Partitions,CN=Configuration,DC=adomain,DC=lan - ;;;;;;;;CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Target GUID points at deleted DN 'CN=NTDS Settings\\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan'
Not removing
WARNING: target DN is deleted for msDS-NC-Replica-Locations in object CN=c508580e-94dd-48fe-b75c-2d860812cd11,CN=Partitions,CN=Configuration,DC=adomain,DC=lan - ;;;;;;;;CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Target GUID points at deleted DN 'CN=NTDS Settings\\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan'
Not removing
NOTE: old (due to rename or delete) DN string component for lastKnownParent in object CN=NTDS Settings\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan - CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Not fixing old string component
Checked 3863 objects (2 errors)
Please use 'samba-tool dbcheck --fix' to fix 2 errors
Hiba esetén javítsuk és ellenőrizzük újra
# samba-tool dbcheck --cross-ncs --fix
Checking 3863 objects
WARNING: target DN is deleted for msDS-NC-Replica-Locations in object CN=536ea47c-3ac9-47b5-a87c-7eb4c03be986,CN=Partitions,CN=Configuration,DC=adomain,DC=lan - ;;;;;;;;CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Target GUID points at deleted DN 'CN=NTDS Settings\\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan'
Remove stale DN link? [y/N/all/none] y
Removed deleted DN on attribute msDS-NC-Replica-Locations
WARNING: target DN is deleted for msDS-NC-Replica-Locations in object CN=c508580e-94dd-48fe-b75c-2d860812cd11,CN=Partitions,CN=Configuration,DC=adomain,DC=lan - ;;;;;;;;CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Target GUID points at deleted DN 'CN=NTDS Settings\\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan'
Remove stale DN link? [y/N/all/none] y
Removed deleted DN on attribute msDS-NC-Replica-Locations
NOTE: old (due to rename or delete) DN string component for lastKnownParent in object CN=NTDS Settings\0ADEL:062d4bfc-1978-467b-b2a1-0639f8db632c,CN=DC2\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan - CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan
Change DN to ;CN=DC2\0ADEL:8739b696-5032-4daf-818a-f69abae1af65,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=adomain,DC=lan? [y/N/all/none] y
Fixed old DN string on attribute lastKnownParent
Checked 3863 objects (2 errors)
# samba-tool dbcheck --cross-ncs
Checking 3863 objects
Checked 3863 objects (0 errors)
Állítsuk be a névszervereket
# cat /etc/resolv.conf
# Generated by NetworkManager
search adomain.lan
nameserver 192.168.110.12
nameserver 192.168.110.11