Почему Samba перестала работать после обновления Ubuntu 20.04 до 22.04?

Недавно я обновил свой домашний сервер с Ubuntu 20.04 до 22.04, и это было довольно сложно. Сегодня при попытке подключиться к файловым ресурсам из Windows я получил сообщение об отказе в подключении. Я помню, как меня спросили о файлах конфигурации во время обновления, и я решил сохранить свой smb.conf, потому что единственное отличие было в моих настроенных общих ресурсах.

Устранение неполадок Я перешел к списку служб в веб-консоли и увидел, что smbd и nmbd указаны как «не запущенные, замаскированные». Я не сталкивался с этим раньше, и некоторые поиски, казалось, указывали на то, что нужно было разоблачить его, запустить и, если вы получите сообщение об ошибке, проверить журналы.

  • systemctl размаскировать smbd.service && systemctl размаскировать nmbd.service
  • systemctl перезапустить smbd.service nmbd.service
  • журналctl -xe

Ошибок при запуске службы не было, и journalctl просто сказал, что они были запущены. Веб-консоль сообщила, что они работают, даже их страницы с подробностями, как иservice --status-allно я все еще не мог подключиться из окон или даже с помощью smbclient на сервере. При отладке он сказал, что не может подключиться к 139 или 445. Я попытался просмотреть более длинный список журналов и даже файлы журналов /var/log/samba/. Никаких подсказок.

  • журналctl -r

1 ответ

Самбу удалили. Переустановите, чтобы исправить это.

Сначала я попытался отследить неотладочную ошибку smbclient, NT_STATUS_CONNECTION_REFUSED, но это привело меня в неправильном направлении. Затем я проверил порты прослушивания и ничего не увидел на этих портах. Я попытался выполнить поиск в списке процессов и не увидел smbd или nmbd, кроме как в процессах journalctl. Поэтому я искал другой способ вывести список запущенных служб и нашел . Он сказал, что состояние smbd и nmbd было загружено, активно завершено. Поэтому я посмотрел на статус smbd, и он был настроен, а не установлен. Я убедился, что у меня есть /etc/init.d/smbd, но нет /usr/sbin/smbd. У меня был /etc/init.d/nmbd, но не /usr/sbin/nmbd. Samba была удалена, и я не помню, чтобы я это делал.

  • netstat -tln | grep -e '\(139\|445\)'
  • systemctl список-единицы
  • меткий поиск

Я установил пакет samba и получил кучу зависимостей. После его установки мой файловый ресурс стал доступен из Windows.

Я удивлен и разочарован тем, что список служб веб-консоли вместе сservice --status-allсказал, что эти процессы запущены, а не ошибка, потому что smbd отсутствует. По меньшей мереsystemctl list-unitsдал подсказку о выходе из него. Возможно, замаскированный сервис должен был быть подсказкой, но для меня это было ново. Кроме того, имейте в виду, что, хотя веб-терминал удобен, он, похоже, не запускает события для записи в .bash_history.

Другие вопросы по тегам