Apple #Mac #Samba #Ubuntu #Сервер #Сеть

Samba и Mac: как дать серверу своё имя в Finder и подключить сетевые папки

У меня дома два сервера Samba: домашний сервер и ПК с Ubuntu. Показываю, как дать каждому понятное имя и значок в Finder через Avahi, открыть домашнюю папку Ubuntu по сети, подключить всё на Mac и что делать, если сервер не виден.

6 минут 3
Содержание
  1. 1Откуда Finder берёт имя сервера
  2. 2Сервер 1: домашний сервер
  3. Если забыли пароль от контейнера
  4. Ставим Avahi и задаём имя
  5. Проверяем и перезапускаем
  6. 3Сервер 2: ПК с Ubuntu
  7. Установка и пароль
  8. Общие настройки
  9. Домашняя папка по сети
  10. Имя и значок для Mac
  11. Проверка и запуск
  12. 4Значок сервера в Finder
  13. 5Подключаем серверы на Mac
  14. Чтобы папка была под рукой
  15. 6А на iPad и iPhone?
  16. 7Если сервер не появился в Finder
  17. 8Что у меня пошло не так
  18. 9Частые вопросы
  19. Как подключиться к Samba на Mac?
  20. Почему сервер Samba не виден в Finder?
  21. Как изменить имя сервера Samba в Finder?
  22. Как сделать, чтобы сетевая папка подключалась сама?
  23. Нужно ли открывать порты на роутере?
  24. Можно ли открыть по сети всю домашнюю папку Linux?

Файлы и фото я храню не на iMac, а на домашнем сервере. Недавно к нему добавился второй источник — ПК с Ubuntu, который подключён к телевизору. Хотелось, чтобы в Finder оба были видны под понятными именами, а не под случайным названием контейнера.

В итоге в разделе «Сеть» у меня стоят Samba-Server и Samba-Ubuntu, каждый со своим значком. Рассказываю, как это сделать, и что по дороге пошло не так.

Finder на Mac, раздел «Сеть»: два сервера — Samba-Server и Samba-Ubuntu, у каждого свой значок
Два сервера в Finder под своими именами

Установку Samba с нуля, пользователей и права я разбирал в статье «Настройка Samba: файловый сервер для macOS, Windows и телевизора». Здесь — только то, что касается Mac.

Откуда Finder берёт имя сервера

Mac находит серверы в сети по технологии Bonjour. Сервер сам объявляет: «я здесь, меня зовут так-то, у меня есть общие папки». На Linux за такие объявления отвечает служба Avahi.

Samba умеет объявлять себя через Avahi сама, но имя при этом берёт у компьютера. У меня контейнер назывался просто Samba, а ПК — NixLife-Ubuntu. Чтобы задать имя и значок самому, объявление нужно описать в отдельном файле, а у Samba эту функцию выключить. Иначе в Finder будет два значка одного сервера.

Что имя приходит именно из объявления, видно в свойствах подключённой папки:

Свойства сетевой папки Media на Mac: сервер smb://Samba-Server._smb._tcp.local/Media, формат SMB
В адресе стоит имя из объявления Avahi

Сервер 1: домашний сервер

У меня Samba живёт в контейнере на Proxmox. Сначала в него надо попасть.

Если забыли пароль от контейнера

Я забыл. Оказалось, пароль и не нужен: с самого Proxmox в контейнер можно войти без него. В оболочке Proxmox:

Терминал
pct list          # номера и названия контейнеров
pct enter 102     # войти в контейнер с этим номером

Вы окажетесь внутри под пользователем root. Если пароль всё-таки нужен, тут же задайте новый командой passwd.

⚠️ В контейнере может не быть программы sudo — у меня её не оказалось. Под root она и не нужна: пишите команды без sudo в начале.

Ставим Avahi и задаём имя

Терминал
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
apt update && apt install -y avahi-daemon

В файле /etc/samba/smb.conf, в разделе [global], нужны три строки:

/etc/samba/smb.conf
[global]
   server string = Samba-Server
   netbios name = SAMBA-SERVER
   multicast dns register = no
  • netbios name — имя для Windows и телевизоров. Не длиннее 15 символов.
  • server string — описание, которое показывают некоторые программы.
  • multicast dns register = no — Samba перестаёт объявлять себя сама, это теперь делает наш файл.

Теперь само объявление:

/etc/avahi/services/smb.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name>Samba-Server</name>
  <service>
    <type>_smb._tcp</type>
    <port>445</port>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=RackMac</txt-record>
  </service>
</service-group>

В строке <name> — имя, которое увидит Finder. Пробелы и заглавные буквы разрешены.

🧩 Я сначала попытался создать этот файл до установки Avahi и получил ошибку «No such file or directory»: папки /etc/avahi/services/ ещё не было. Сначала установка, потом файл.

Проверяем и перезапускаем

Терминал
testparm -s
systemctl restart smbd nmbd avahi-daemon
systemctl status avahi-daemon --no-pager

testparm -s должен ответить Loaded services file OK, а в статусе Avahi — active (running). Вот как выглядит рабочий раздел [global] на моём сервере:

Конфиг
[global]
        bind interfaces only = Yes
        interfaces = lo eth0
        multicast dns register = No
        netbios name = SAMBA-SERVER
        restrict anonymous = 2
        security = USER
        server min protocol = SMB2
        server string = Samba-Server
        fruit:model = MacSamba
        fruit:metadata = stream
        hosts allow = 192.168.1.0/24 127.0.0.1
        hosts deny = 0.0.0.0/0
        veto files = /.DS_Store/._*/.Trashes/.Spotlight-V100/desktop.ini/Thumbs.db/
        vfs objects = catia fruit streams_xattr

После перезапуска сервер появился в Finder под новым именем. Старое подключение на Mac продолжило работать: адрес сервера не менялся.

Окно Finder: общая папка Media на сервере Samba-Server со списком папок
Общая папка на домашнем сервере

Сервер 2: ПК с Ubuntu

На ПК я решил открыть всю домашнюю папку пользователя с правом записи, чтобы забирать и закидывать скриншоты, фото, видео и программы.

Установка и пароль

Терминал
sudo apt update && sudo apt install -y samba avahi-daemon
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo smbpasswd -a $USER

Последняя команда задаёт пароль для входа по сети. Он хранится в Samba отдельно от пароля в систему.

Общие настройки

В Ubuntu файл smb.conf уже заполнен, и две стандартные строки перебили бы наши. Поэтому сначала их отключаем, потом добавляем свои:

Терминал
sudo sed -i 's/^\s*server string\s*=.*/;&/; s/^\s*map to guest\s*=.*/;&/' /etc/samba/smb.conf
sudo sed -i '/^\[global\]/a\   netbios name = SAMBA-UBUNTU\n   server string = Samba-Ubuntu\n   multicast dns register = no\n   hosts allow = 192.168.1.0/24 127.0.0.1\n   hosts deny = 0.0.0.0/0\n   map to guest = never\n   server min protocol = SMB2_10\n   vfs objects = catia fruit streams_xattr\n   fruit:metadata = stream' /etc/samba/smb.conf

Подсеть в hosts allow замените на свою. Узнать её: ip -4 addr | grep inet.

  • hosts allow и hosts deny — доступ только из домашней сети.
  • map to guest = never — без пароля никого не пускать.
  • vfs objects и fruit:metadata — поддержка Mac: метки Finder, длинные имена, служебные данные файлов.

Домашняя папка по сети

Терминал
sudo tee -a /etc/samba/smb.conf >/dev/null <<EOF

[Home]
   comment = Domashnyaya papka
   path = /home/$USER
   browseable = yes
   read only = no
   valid users = $USER
   force user = $USER
   create mask = 0644
   directory mask = 0755
   hide dot files = yes
   veto files = /.ssh/.gnupg/.cache/.local/.config/.mozilla/
EOF

Имя пользователя подставится само.

Имя и значок для Mac

Терминал
sudo nano /etc/avahi/services/smb.service
/etc/avahi/services/smb.service
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name>Samba-Ubuntu</name>
  <service>
    <type>_smb._tcp</type>
    <port>445</port>
  </service>
  <service>
    <type>_device-info._tcp</type>
    <port>0</port>
    <txt-record>model=MacPro7,1</txt-record>
  </service>
</service-group>

Проверка и запуск

Терминал
sudo testparm -s
sudo systemctl restart smbd nmbd avahi-daemon
sudo ufw status

Если брандмауэр включён (Status: active), откройте Samba для домашней сети:

Терминал
sudo ufw allow from 192.168.1.0/24 to any app Samba

У меня он оказался выключен, и эта команда не понадобилась.

И последнее. В стандартном конфиге Ubuntu есть строка, которая разрешает открывать папки без пароля через файловый менеджер. Её лучше выключить:

Терминал
sudo sed -i 's/^\s*usershare allow guests\s*=.*/   usershare allow guests = no/' /etc/samba/smb.conf
sudo systemctl restart smbd

Значок сервера в Finder

Строка model= в файле Avahi выбирает значок. Я проверил два значения:

ЗначениеЗначок в Finder
RackMacсерверная стойка
MacPro7,1Mac Pro в виде башни

На скриншоте в начале статьи видны оба: стойка у домашнего сервера, башня у ПК. Так серверы проще различать с одного взгляда.

Подключаем серверы на Mac

  1. Откройте Finder → «Настройки» → «Боковое меню» и включите «Компьютеры Bonjour» и «Подключённые серверы».
  2. Откройте в Finder раздел «Сеть». Там появятся оба сервера.
  3. Щёлкните по серверу, затем «Подключиться как…».
  4. Введите имя и пароль, который задавали командой smbpasswd. Поставьте галочку «Запомнить этот пароль в связке ключей».
Окно входа на сервер Samba-Ubuntu: подключение как зарегистрированный пользователь, галочка «Запомнить этот пароль в связке ключей»
Имя пользователя Samba и пароль из smbpasswd

После входа Finder покажет общие папки сервера.

Finder: общие папки сервера Samba-Ubuntu — Документы, Загрузки, Изображения и Home
Общие папки на ПК с Ubuntu

У меня их четыре. Home — та, что мы только что создали. Остальные три я когда-то открыл через файловый менеджер Ubuntu, и они никуда не делись.

Подключённые серверы появляются в боковом меню, в разделе «Места». Значок со стрелкой справа отключает сервер.

Боковое меню Finder, раздел «Места»: подключены Samba-Server и Samba-Ubuntu
Оба сервера подключены

Чтобы папка была под рукой

  • 📌 В «Избранное». Перетащите сетевую папку из окна Finder в верхнюю часть бокового меню.
  • 🔁 Подключение при включении Mac. «Системные настройки» → «Основные» → «Объекты входа» → плюс → выберите подключённую сетевую папку.
  • ⌨️ Напрямую по адресу. Нажмите ⌘ Cmd + K в Finder и введите smb://192.168.1.10/Media. Этот способ работает, даже когда сервер не виден в «Сети».

А на iPad и iPhone?

Те же серверы подключаются и в приложении «Файлы», без дополнительных программ. Это я разобрал отдельно: iPad и домашний сервер: сетевые папки Samba в приложении «Файлы».

Если сервер не появился в Finder

  • 🔍 Проверьте объявление. В Терминале на Mac выполните dns-sd -B _smb._tcp. В списке должно быть имя сервера. Остановить команду — ⌃ Control + C.
  • 🧱 Проверьте службу. На сервере: systemctl status avahi-daemon. Должно быть active (running).
  • 👥 Два значка одного сервера. Забыли строку multicast dns register = no в smb.conf.
  • 🔑 Finder пишет «Не удалось подключиться». Настоящую причину покажет smbutil view //имя@192.168.1.10. Часто виноват старый пароль в «Связке ключей»: найдите там адрес сервера и удалите запись.
  • 💤 ПК не виден. Сервер на ПК работает, только пока тот включён и загружен в Ubuntu. У меня на этом компьютере стоит ещё Windows, и под ней Samba-Ubuntu из сети пропадает.

Что у меня пошло не так

Частые вопросы

Как подключиться к Samba на Mac?

В Finder нажмите Command + K и введите адрес вида smb://адрес-сервера/папка. Или откройте раздел «Сеть», щёлкните по серверу и нажмите «Подключиться как…».

Почему сервер Samba не виден в Finder?

Finder ищет серверы через Bonjour. На сервере должна работать служба Avahi, а в настройках Finder должны быть включены «Компьютеры Bonjour». По прямому адресу через Command + K сервер открывается и без этого.

Как изменить имя сервера Samba в Finder?

Создайте файл /etc/avahi/services/smb.service и укажите нужное имя в строке name. В smb.conf добавьте multicast dns register = no и перезапустите smbd и avahi-daemon.

Как сделать, чтобы сетевая папка подключалась сама?

Подключите её, затем откройте «Системные настройки» → «Основные» → «Объекты входа» и добавьте папку в список. Пароль должен быть сохранён в связке ключей.

Нужно ли открывать порты на роутере?

Нет. Samba должна работать только внутри домашней сети. Открывать её в интернет опасно: для доступа снаружи используйте VPN.

Можно ли открыть по сети всю домашнюю папку Linux?

Можно, но закройте скрытые папки с ключами и настройками через параметр veto files, а вход разрешите только по паролю и только из своей подсети.

Статья помогла?

Комментарии

Пока никто не написал. Будьте первым — вопрос или свой опыт одинаково полезны.

Комментарий появится после проверки. Ссылки и реклама не публикуются.