Введение
macOS всё жёстче относится к сетевым протоколам. Сегодня Samba-серверу нужно строго соответствовать ожиданиям клиента: поддерживать SMB2/SMB3, исключать NetBIOS и обеспечивать совместимость с HFS+-/APFS-фичами, включая Time Machine, Spotlight и метаданные Apple.

Цель этой статьи — развернуть Samba-сервер на RHEL9 с идеальной поддержкой macOS, включая возможность резервного копирования и автообнаружения в Finder.
Установка необходимых пакетов
Установим Samba, Avahi и утилиты для управления доступом:
sudo dnf install -y samba samba-client samba-common avahi avahi-tools nss-mdns setroubleshoot-server policycoreutils-python-utils
Конфигурация Samba (/etc/samba/smb.conf)
[global]
workgroup = WORKGROUP
domain master = no
server string = Samba Server
netbios name = srv
include = registry
disable netbios = yes
smb ports = 445
server role = standalone
server signing = if_required
client signing = if_required
wins support = no
logging = systemd
usershare owner only = false
interfaces = 192.168.1.10
bind interfaces only = yes
ea support = yes
use sendfile = yes
strict allocate = yes
allocation roundup size = 0
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:delete_empty_adfiles = yes
fruit:metadata = stream
fruit:resource = stream
fruit:model = MacStudio
fruit:time machine = yes
fruit:nfs_aces = no
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
Затем определим ресурсы. Пример для Time Machine:
[TimeMachine]
path = /mnt/backup/TimeMachine
browseable = yes
writable = yes
guest ok = no
valid users = haxver
force user = haxver
create mask = 0664
directory mask = 0775
vfs objects = catia fruit streams_xattr
fruit:aapl = yes
fruit:time machine = yes
Пример обычной расшаренной папки:
[Movies]
comment = Videos
path = /mnt/videos/Movies
valid users = haxver
inherit acls = Yes
public = no
writable = yes
printable = no
spotlight = yes
Создание пользователя
sudo useradd haxver
sudo passwd haxver
sudo smbpasswd -a haxver
Настройка прав и SELinux
Права на каталог:
sudo chown -R haxver:haxver /mnt/backup/TimeMachine
sudo chmod -R 770 /mnt/backup/TimeMachine
sudo setfacl -m u:haxver:rwx /mnt/backup/TimeMachine
SELinux:
sudo semanage fcontext -a -t samba_share_t "/mnt(/.*)?"
sudo restorecon -Rv /mnt
Запуск Samba
sudo systemctl enable --now smb
Настройка Avahi
Создадим службу Bonjour для Time Machine, чтобы macOS автоматически увидела шару:
Создайте файл /etc/avahi/services/samba.service:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>dk0=adVN=TimeMachine,adVF=0x82</txt-record>
<txt-record>sys=adVF=0x100</txt-record>
</service>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
</service-group>
Перезапустите Avahi:
sudo systemctl enable --now avahi-daemon
Убедитесь, что служба видна:
avahi-browse -a | grep -i time
Если всё настроено корректно, macOS обнаружит шару как резервное хранилище в интерфейсе Time Machine.
Подключение с macOS
1. Откройте Finder.
2. Нажмите Command + K.
3. Введите smb://192.168.1.10/Movies или нужный ресурс.
4. Авторизуйтесь под пользователем haxver.
Для Time Machine:
1. Откройте настройки Time Machine.
2. Выберите сетевой диск.
3. Введите логин и пароль Samba-пользователя.

Проверка
Команды для диагностики:
testparm
sudo smbclient -L localhost -U haxver
Для macOS:
smbutil view //haxver@192.168.1.10
Заключение
Теперь Samba работает без NetBIOS, строго на SMB2/3, со всеми расширениями Apple: ресурсными потоками, метаданными, Spotlight и поддержкой Time Machine. macOS автоматически обнаруживает сервер через Avahi и Bonjour. Это решение можно применять и в домашних, и в офисных сетях, где используется техника Apple.