pztrn's wiki

Samba 4 + ZeroConf + TimeMachine на прошивке от Padavan'а

Настройка Samba4

Запиливаем в /etc/samba/smb.conf:

[global]
        netbios name = fileserver
        server string = FILESERVER
        workgroup = WORKGROUP
        guest account = nobody
        security = user
        map to guest = Bad Password
        guest ok = yes
        timestamp logs = no
        preserve case = yes
        short preserve case = yes
        log level = 3
        syslog = 0
        smb encrypt = disabled
        fruit:aapl = yes
 
[Time Capsule]
        path = /data/timemachine
        browseable = Yes
        vfs objects = catia fruit streams_xattr
        read only = No
        durable handles = yes
        kernel oplocks = no
        kernel share modes = no
        posix locking = no
        ea support = yes
        inherit acls = yes
        fruit:time machine = yes
        fruit:aapl = yes
        fruit:advertise_fullsync = true
        spotlight = yes

Если вы используете ZFS - вам нужно правильно прокидывать ''xattr''.

После правки конфига - перезагрузите smbd и nmbd:

systemctl restart smbd nmbd

Не рекомендую размещать шару для Time Machine (и вообще любые шары) на контроллере AD (Samba AD DC который), так как при обновлении или тюнинге могут возникнуть всякого рода непонятки или же недоразумения (у моего коллеги один раз через “что-то вроде DFS” шара начала синхронизироваться с резервным сервером и, естественно, положила всю сетку).

Zeroconf

Он же avahi, он же mDNS, он же бич сетей в руках неумелых админов. Запиливаем для него такой конфиг в /etc/avahi/services/timemachine.service:

<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">fileserver</name>
  <service>
    <type>_smb._tcp</type>
    <host-name>fileserver.local</host-name>
    <port>445</port>
  </service>
  <service>
    <type>_adisk._tcp</type>
    <txt-record>sys=waMa=0,adVF=0x100</txt-record>
    <txt-record>dk0=adVN=Time Capsule,adVF=0x82</txt-record>
    <host-name>fileserver.local</host-name>
  </service>
</service-group>

После сохранения рестарт не нужен, Avahi подтягивает изменения конфигов сервисов автоматически.

Для пущего эффекта делаем так, чтобы Avahi всегда знал, где находится fileserver. Для этого добавляем информацию в /etc/avahi/hosts:

192.168.1.250 fileserver.local

Синтаксис абсолютно идентичен файлу /etc/hosts.

Название шары в smb.conf должно совпадать с параметром adVN в конфиге сервиса для Avahi! В противном случае Time Machine на вашем маке не увидит Time Capsule!

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International