Вопрос или проблема
После успешного обмена через 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. Это может происходить по следующим причинам:
- Некорректная настройка Samba: Параметры в
smb.conf
, такие как отсутствующие или неправильно настроенные учетные записи гостевого пользователя, могут привести к тому, что smbd не сможет запуститься. - Неисправности смежных служб: Недостаток в конфигурации сервисов, которые обеспечивают авторизацию и аутентификацию, например winbind или nsswitch, которые помогают в сопоставлении имен пользователей и их SID.
- Проблемы конфигурации сети: Отсутствие соответствующих интерфейсов или брандмауэр, блокирующий порты, необходимые для работы smbd.
Пример
В представленном случае, ошибка в системных логах (в файле /var/log/samba/smbd.log
) указывает на то, что служба smbd не может запуститься из-за отсутствия гостевой учетной записи. Строка конфигурации guest account = nobody
исправляет проблему, так как указывает явно на учетную запись, которая должна использоваться для гостей.
Логи указывают на следующие проблемы:
- smbd не может запуститься, о чем свидетельствует
smbd is not running
, в то время какnmbd
работает корректно. - Не удается определить гостевую учетную запись, так что добавление
guest account = nobody
решает данную проблему.
Применение
Для устранения проблемы, вам необходимо выполнить следующие шаги:
-
Убедитесь, что службы работают корректно. Перезапустите Samba и убедитесь, что netbios- и smbd-сервисы активны:
sudo systemctl enable smbd sudo systemctl start smbd
-
Проверьте файл конфигурации Samba (
/etc/samba/smb.conf
):- Убедитесь в том, что секция
[global]
включает правильно настроенные параметры для гостевой учетной записи. Если строкаguest account = nobody
прокомментирована, раскомментируйте ее, предварительно убедившись, что учетная записьnobody
существует в вашей системе. - Убедитесь, что ваши интерфейсы настроены корректно:
interfaces = 192.168.0.100/24 lo bind interfaces only = yes
- Убедитесь в том, что секция
-
Проверьте настройки сети, чтобы убедиться, что порты, используемые Samba (обычно 139 и 445), открыты на всех участвующих в сети устройствах.
-
Обновите вашу систему и пакеты до последней версии. Обратитесь к репозиториям вашего дистрибутива для получения обновлений.
-
Обратитесь к документации вашего дистрибутива на предмет специфических инструкций и известным проблемам.
-
Если проблема сохраняется, посетите трекеры ошибок вашего дистрибутива, такие как bugzilla для Fedora или Launchpad для Ubuntu, чтобы сообщить о проблеме или узнать, есть ли временные решения.
Таким образом, исправление вышеописанных настроек и потенциальное обновление системы должны помочь в решении проблемы невозможности преобразования имени «Everyone» в SID.