Samba не может поделиться папкой – не удается преобразовать имя “Everyone” в SID.

Вопрос или проблема

После успешного обмена через Samba несколько дней назад у меня появилась та же проблема, и я получил следующую ошибку:

'net usershare' вернул ошибку 255: net usershare add: невозможно преобразовать имя "Everyone" в SID. 
Соединение было отказано. Возможно, smbd не запущен.

При попытке запустить/перезапустить службу samba я получаю следующее

$ sudo service samba status
 * nmbd запущен
 * smbd не запущен
$ sudo service samba start
$ sudo service samba restart
$ sudo service samba status
 * nmbd запущен
 * smbd не запущен

Мой /var/log/samba/smbd.log

[2014/01/15 16:21:46,  0] smbd/server.c:1072(main)
  smbd версии 3.6.18 запущен.
  Copyright Andrew Tridgell и команда Samba 1992-2011
[2014/01/15 16:21:46.426302,  0] smbd/server.c:1128(main)
  стандартный вход не является сокетом, предполагается опция -D
[2014/01/15 16:21:46.428538,  0] auth/auth_util.c:708(get_guest_info3)
  SamInfo3_for_guest: не удается найти гостевой аккаунт [guest]!
[2014/01/15 16:21:46.428578,  0] smbd/server.c:1251(main)
  ОШИБКА: не удалось настроить информацию о госте.

Мой /etc/samba/smb.conf

$ grep -E "^[^#;].*" /etc/samba/smb.conf
[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
        usershare allow guests = yes
        username map = /etc/samba/smbusers
        security = user
        guest ok = yes
        ; guest account = nobody
  usershare max shares = 100
  usershare owner only = False

Проблема была в имени пользователя. Я раскомментировал эту строку:

guest account = nobody

имея пользователя nobody в моей системе, и теперь все работает хорошо.

Эта ошибка также присутствует в обычных пользовательских сеансах. У меня это на 2 машинах с свежей установкой Ubuntu 14.04.

Я подал отчет об ошибке
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1299186

Пожалуйста, отметьте ошибку как “также касается меня”, если вы сталкиваетесь с той же проблемой, так как apport не сработает автоматически, когда эта ошибка происходит.

Для того чтобы usershare работал, smbd также должен быть привязан к localhost, то есть

interfaces = 192.168.0.100/8 eno1 127.0.0.1/8 lo

Я также видел следующее:

net usershare add: невозможно преобразовать имя “Everyone” в SID. Попытка установления транспортного соединения была отклонена удаленной системой. Возможно, smbd не запущен.

Хотя я использую cpe:/o:fedoraproject:fedora:41, решение для меня было следовать forum.manjaro.org/t/53526/3, как описано ниже:

#!/usr/bin/env sh
sudo systemctl enable --now smb.service

Ответ или решение

Ошибка «невозможно преобразовать имя ‘Everyone’ в SID» при попытке сделать ресурс Samba общедоступным через команду net usershare add часто связана с рядом проблем, касающихся настройки службы Samba и взаимодействия с системой идентификации SID (Security Identifier). Ниже предлагается детальное объяснение теоретической части, пример иллюстрации и предложения по решению проблемы.

Теория

Функциональность Samba заключается в предоставлении компьютерам под управлением различных операционных систем возможность взаимодействовать друг с другом в локальной сети, имитируя работу протокола SMB/CIFS, который обычно используется в системах Windows. Samba использует роли пользователя и группы для управления доступом к сетевым ресурсам. Эти роли могут быть назначены с помощью SID, идентификаторов безопасности, которые уникально идентифицируют пользователя, группу или любой другой объект.

Ошибка преобразования имени «Everyone» в SID указывает на то, что Samba не может сопоставить пользовательское имя или группу с соответствующим SID. Это может происходить по следующим причинам:

  1. Некорректная настройка Samba: Параметры в smb.conf, такие как отсутствующие или неправильно настроенные учетные записи гостевого пользователя, могут привести к тому, что smbd не сможет запуститься.
  2. Неисправности смежных служб: Недостаток в конфигурации сервисов, которые обеспечивают авторизацию и аутентификацию, например winbind или nsswitch, которые помогают в сопоставлении имен пользователей и их SID.
  3. Проблемы конфигурации сети: Отсутствие соответствующих интерфейсов или брандмауэр, блокирующий порты, необходимые для работы smbd.

Пример

В представленном случае, ошибка в системных логах (в файле /var/log/samba/smbd.log) указывает на то, что служба smbd не может запуститься из-за отсутствия гостевой учетной записи. Строка конфигурации guest account = nobody исправляет проблему, так как указывает явно на учетную запись, которая должна использоваться для гостей.

Логи указывают на следующие проблемы:

  • smbd не может запуститься, о чем свидетельствует smbd is not running, в то время как nmbd работает корректно.
  • Не удается определить гостевую учетную запись, так что добавление guest account = nobody решает данную проблему.

Применение

Для устранения проблемы, вам необходимо выполнить следующие шаги:

  1. Убедитесь, что службы работают корректно. Перезапустите Samba и убедитесь, что netbios- и smbd-сервисы активны:

    sudo systemctl enable smbd
    sudo systemctl start smbd
  2. Проверьте файл конфигурации Samba (/etc/samba/smb.conf):

    • Убедитесь в том, что секция [global] включает правильно настроенные параметры для гостевой учетной записи. Если строка guest account = nobody прокомментирована, раскомментируйте ее, предварительно убедившись, что учетная запись nobody существует в вашей системе.
    • Убедитесь, что ваши интерфейсы настроены корректно:
      interfaces = 192.168.0.100/24 lo
      bind interfaces only = yes
  3. Проверьте настройки сети, чтобы убедиться, что порты, используемые Samba (обычно 139 и 445), открыты на всех участвующих в сети устройствах.

  4. Обновите вашу систему и пакеты до последней версии. Обратитесь к репозиториям вашего дистрибутива для получения обновлений.

  5. Обратитесь к документации вашего дистрибутива на предмет специфических инструкций и известным проблемам.

  6. Если проблема сохраняется, посетите трекеры ошибок вашего дистрибутива, такие как bugzilla для Fedora или Launchpad для Ubuntu, чтобы сообщить о проблеме или узнать, есть ли временные решения.

Таким образом, исправление вышеописанных настроек и потенциальное обновление системы должны помочь в решении проблемы невозможности преобразования имени «Everyone» в SID.

Оцените материал
Добавить комментарий

Капча загружается...