SMBclient Basics
Anonyme Anmeldung
thommie@locutus:~> smbclient -N -L ``//192.168.72.22``
Anonymous login successful
Sharename Type Comment
--------- ---- -------
Ontrack Disk
IPC$ IPC IPC Service (omv server)
SMB1 disabled -- no workgroup available
User-Anmeldung
thommie@locutus:~> smbclient -U thommie -L ``//192.168.72.22``
Password for [WORKGROUP\thommie]:
Samba als Active Directory Controller
Samba 4 kann als Domänen-Controller benutzt werden. Im Netz gibt es viele Anleitungen. Wie so häufig ist vieles davon veraltet und man muss sich die relevanten Infos aus unterschiedlichen Quellen zusammen stückeln. Achtung: man braucht Samba 4.20 und höher, um im AD den functional level 2016 zu erreichen.
https://samba.tranquil.it/doc/en/samba_config_server/redhat/server_install_samba_redhat.html
Basisinstallation
(hier mit Debian 13)
apt install samba smbclient winbind libnss-winbind krb5-user acl samba-ad-dc
Evtl. alte config rausmwerfen
mv /etc/samba/smb.conf /etc/samba/smb.conf.old
Provisionieren
samba-tool domain provision
Danach die Domain Daten und das Admin Passwort angeben
[root@ samba]$ samba-tool domain provision
Realm: netzwissen.loc
Domain [netzwissen]: smb01
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) [192.168.178.1]:
Administrator password:
Retype password:
Dann rattern die Python Skripte los
[...]
Applied Domain Update 78: c3c927a6-cc1d-47c0-966b-be8f9b63d991
Applied Domain Update 79: 54afcfb9-637a-4251-9f47-4d50e7021211
Applied Domain Update 80: f4728883-84dd-483c-9897-274f2ebcf11e
[...]
In der /etc/samba/smb.conf muss noch eine Zeile dazu:
# Global parameters
[global]
dns forwarder = 192.168.178.1
netbios name = ODYSSEUS4
realm = NETZWISSEN.LOC
server role = active directory domain controller
workgroup = SMB01
# add the line in [global] section
ad dc functional level = 2016
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/netzwissen.loc/scripts
read only = No
DNS umstellen, sodaß der lokale DNS (der DC selbst) benutzt wird: /etc/resolv.conf
search netzwissen.loc
nameserver 127.0.0.1
Kerberos config umkopieren:
cp /var/lib/samba/private/krb5.conf /etc/
Systemd: Services konfigurieren
systemctl disable --now smbd nmbd winbind systemd-resolved
systemctl mask smbd nmbd winbind
systemctl unmask samba-ad-dc
systemctl enable --now samba-ad-dc
Danach die DC Konfig prüfen
samba-tool domain info 192.168.50.4
Unknown parameter encountered: "ad dc functional level"
Ignoring unknown parameter "ad dc functional level"
Forest : dvdsdnet2.devoteam.de
Domain : dvdsdnet2.devoteam.de
Netbios domain : DVDSDNET2
DC name : dcfiles03.dvdsdnet2.devoteam.de
DC netbios name : DCFILES03
Server site : Default-First-Site-Name
Client site : Default-First-Site-Name
root@dcfiles03:~# samba-tool domain level show
Unknown parameter encountered: „ad dc functional level“
Ignoring unknown parameter „ad dc functional level“
Domain and forest function level for domain ‚DC=dvdsdnet2,DC=devoteam,DC=de‘
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
Functional level erhöhen
root@dcfiles03:~# samba-tool domain level show
Unknown parameter encountered: „ad dc functional level“
Ignoring unknown parameter „ad dc functional level“
Domain and forest function level for domain ‚DC=dvdsdnet2,DC=devoteam,DC=de‘
Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
samba-tool domain functionalprep --function-level=2016
samba-tool domain level raise --domain-level=2016 --forest-level=2016