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 <<EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.110.11 dc1.adomain.lan
EOF

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
<code>
Létre kell hozni a samba csomagokat tartalmazó repo fájlt
<code>
# 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 --server-role=dc --host-name=dc1.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

Névfeloldáso

# 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.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 ellenőrzé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 <<EOF
[libdefaults]
default_realm = ADOMAIN.LAN
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
ADOMAIN.LAN = {
kdc = dc1.adomain.lan
admin_server = dc1.adomain.lan
}
EOF

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

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 --store-plaintext=on --min-pwd-age=0 --max-pwd-age=180 --min-pwd-length=5 --history-length=0
Password complexity deactivated!
Plaintext password storage for changed passwords activated!
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