Для include до версии 4.16 работало, а теперь не работает. man smb.conf, раздел VARIABLE SUBSTITUTIONS %i the local IP address to which a client connected. Before 4.0.0 it could contain IPv4 mapped IPv6 addresses, now it only contains IPv4 or IPv6 addresses Похожие баги апстрима для других переменных: https://bugzilla.samba.org/show_bug.cgi?id=15243 https://bugzilla.samba.org/show_bug.cgi?id=15255
Версия - samba-4.20.4-alt1 Шаги воспроизведения На сервере (от рута): echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf sysctl -f mkdir -p /data/$(ip route get 1.2.3.4 | awk '{print $7}' | xargs) chmod 777 -R /data/ echo "include = /etc/samba/smb-%i.conf" >> /etc/samba/smb.conf cat >> /etc/samba/smb-$(hostname -i).conf <<'EOF' [client_data] comment = Client Data path = /data/%i browseable = yes writable = yes force directory mode = 0770 force create mode = 0660 create mask = 0660 directory mask = 0770 EOF systemctl restart samba testparm На клиенте: smbclient -L dc -U testuser Ожидаемый результат: client_data в списке Enter SAMBA\testuser's password: Sharename Type Comment --------- ---- ------- media Disk media sysvol Disk netlogon Disk SHARE Disk Share directory for AD users client_data Disk Client Data IPC$ IPC IPC Service (Samba 4.14.10) Фактический результат: client_data нет в списке Password for [SAMBA\testuser]: Sharename Type Comment --------- ---- ------- media Disk media sysvol Disk netlogon Disk SHARE Disk Share directory for AD users IPC$ IPC IPC Service (Samba 4.20.4-alt1) Воспроизводится в P10 Не воспроизводится в P9: версия samba-4.14.10-alt2