‘net usershare’ вернул ошибку 255. Ubuntu 16.04 LTS

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

Моя проблема изначально началась с попытки поделиться с Samba Shares. На моем основном SSD я могу делиться чем угодно со своим рабочим столом, но я добавил дополнительный жесткий диск, и с этого момента начались мои проблемы. Независимо от того, что я делаю, я не могу поделиться с Samba Shares на своем рабочем столе. (Машина с Ubuntu является моим личным сетевым сервером). На данный момент я застрял здесь и все еще не могу поделиться папкой с моего дополнительного жесткого диска.

Скриншот кода ошибки

Разрешения

Извините, я забыл добавить скриншот.

Я добавил #usershare owner only=false в секцию [global] файла smb.conf, так как прочитал, что это исправило проблему у других, но это не сработало для меня.

    #======================= Глобальные настройки =======================

[global]

## Просмотр/Определение ###

#usershare owner only=false
# Измените это на имя рабочей группы/NT-домена, частью которого будет ваш сервер Samba
   workgroup = WORKGROUP

# строка сервера - это эквивалент поля описания NT
    server string = %h сервер (Samba, Ubuntu)

# Поддержка имен сервера Windows:
# Поддержка WINS - говорит компоненту NMBD Samba включить свой WINS-сервер
#   wins support = no

# WINS-сервер - говорит компонентам NMBD Samba быть клиентом WINS
# Примечание: Samba может быть либо WINS-сервером, либо WINS-клиентом, но не тем и другим
;   wins server = w.x.y.z

# Это предотвратит, чтобы nmbd искал имена NetBIOS через DNS.
   dns proxy = no

#### Сеть ####

# Конкретный набор интерфейсов / сетей для привязки
# Это может быть либо имя интерфейса, либо IP-адрес/маска сети;
# имена интерфейсов обычно предпочтительнее
;   interfaces = 127.0.0.0/8 eth0

# Привязывайтесь только к названным интерфейсам и/или сетям; вы должны использовать
# параметр 'interfaces', чтобы использовать это.
# Рекомендуется включить эту функцию, если ваш компьютер с Samba не защищен
# межсетевым экраном или сам является межсетевым экраном. Однако этот
# параметр не может правильно обрабатывать динамические или нешироковещательные интерфейсы.
;   bind interfaces only = yes

#### Отладка/Учет ####

# Это говорит Samba использовать отдельный файл журналов для каждой машины
# которая подключается
   log file = /var/log/samba/log.%m

# Ограничить размер отдельных файлов журналов (в КБ).
   max log size = 1000

# Если вы хотите, чтобы Samba только записывал информацию через syslog, установите следующий
# параметр на 'yes'.
#   syslog only = no

# Мы хотим, чтобы Samba записывал минимальное количество информации в syslog. Все
# должно идти в /var/log/samba/log.{smbd,nmbd} вместо этого. Если вы хотите записывать
# через syslog, вы должны установить следующий параметр на что-то большее.
   syslog = 0

# Сделайте что-то разумное, когда Samba аварийно завершает работу: отправьте администратору дамп
   panic action = /usr/share/samba/panic-action %d

####### Аутентификация #######

# Роль сервера. Определяет, в каком режиме будет работать Samba. Возможные
# значения: "автономный сервер", "сервер-участник", "классический первичный
# контроллер домена", "классический резервный контроллер домена", "контроллер домена
# активной директории". 
#
# Большинству людей нужен "автономный сервер" или "сервер-участник".
# Для работы в режиме "контроллер домена активной директории" сначала
# необходимо запустить "samba-tool domain provision" для очистки баз данных и создания
# нового домена.
   server role = standalone server

# Если вы используете зашифрованные пароли, Samba должна знать, какой
# тип базы данных паролей вы используете.  
   passdb backend = tdbsam

   obey pam restrictions = yes

# Этот логический параметр управляет тем, будет ли Samba пытаться синхронизировать Unix
# пароль с SMB паролем, когда зашифрованный SMB пароль в
# passdb изменяется.
   unix password sync = yes

# Для работы синхронизации паролей Unix на системе Debian GNU/Linux должны быть установлены следующие
# параметры (спасибо Яну Кахану <<[email protected]> за
# отправку корректного чата для программы passwd в Debian Sarge).
   passwd program = /usr/bin/passwd %u
   passwd chat = *Введите\sновый\s*\парадоль:* %n\n *Повторите\sновый\s*\парадоль:* %n\n *пароль\sуспешно\обновлен* .

# Этот логический параметр управляет тем, будет ли PAM использоваться для изменения паролей
# по запросу клиента SMB вместо программы, указанной в
# 'passwd program'. Значение по умолчанию - 'no'.
   pam password change = yes

# Этот параметр управляет тем, как неудачные попытки аутентификации сопоставляются
# с анонимными подключениями
   map to guest = bad user

########## Домены ###########

#
# Следующие параметры начинают действовать только если 'server role = primary
# classic domain controller', 'server role = backup domain controller'
# или 'domain logons' установлено 
#

# Он указывает местоположение директории профиля пользователя с точки зрения клиента. Следующий
# требовал настройки шаринга [profiles] на сервере samba (см. ниже)
;   logon path = \\%N\profiles\%U
# Другим распространенным вариантом является хранение профиля в домашнем каталоге пользователя
# (это значение по умолчанию для Samba)
#   logon path = \\%N\%U\profile

# Следующий параметр начинает действовать только если 'domain logons' установлено
# Он указывает местоположение домашнего каталога пользователя (с точки зрения клиента)
;   logon drive = H:
#   logon home = \\%N\%U

# Следующий параметр начинает действовать только если 'domain logons' установлено
# Он указывает скрипт, который нужно выполнить во время входа. Скрипт должен храниться
# в шаре [netlogon]
# ПРИМЕЧАНИЕ: должен быть сохранен в формате 'DOS'
;   logon script = logon.cmd

# Это позволяет создавать пользователей Unix на контроллере домена через RPC-трубку SAMR.
# Пример команды создает учетную запись пользователя с отключенным паролем Unix; пожалуйста, адаптируйте под ваши нужды
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# Это позволяет создавать учетные записи машин на контроллере домена через
# RPC-трубку SAMR.  
# Следующее предполагает, что в системе существует группа "machines"
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# Это позволяет создавать группы Unix на контроллере домена через RPC-трубку SAMR.  
; add group script = /usr/sbin/addgroup --force-badname %g

############ Разное ############

# Использование следующей строки позволяет вам настроить конфигурацию
# для каждой машины отдельно. %m будет заменено на имя netbios
# подключаемой машины
;   include = /home/samba/etc/smb.conf.%m

# Некоторые значения по умолчанию для winbind (убедитесь, что вы не используете диапазоны
# для чего-то другого.)
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

# Настройте параметры usershare, чтобы разрешить пользователям, не имеющим root-права, делиться
# папками с помощью команды net usershare.

# Максимальное количество usershare. 0 (по умолчанию) означает, что usershare отключен.
;   usershare max shares = 100

# Разрешить пользователям, которым предоставлены права usershare, создавать
# общие шаринги, а не только аутентифицированные
   usershare allow guests = yes

#======================= Определения шаров =======================

# Раскомментируйте следующее (и подстройте другие параметры ниже под свои нужды),
# чтобы включить общие домашние каталоги по умолчанию. Это поделится каждой
# домашней директорией пользователя как \\server\username
;[homes]
;   comment = Домашние каталоги
;   browseable = no

# По умолчанию домашние каталоги экспортируются только для чтения. Измените
# следующий параметр на 'no', если вы хотите иметь возможность записывать в них.
;   read only = yes

# Маска создания файлов устанавливается на 0700 по соображениям безопасности. Если вы хотите
# создавать файлы с правами group=rw, установите следующий параметр на 0775.
;   create mask = 0700

# Маска создания директорий устанавливается на 0700 по соображениям безопасности. Если вы хотите
# создавать директории с правами group=rw, установите следующий параметр на 0775.
;   directory mask = 0700

# По умолчанию шаринги \\server\username могут подключаться все
# имеющие доступ к серверу samba.
# Раскомментируйте следующий параметр, чтобы убедиться, что только "username"
# может подключиться к \\server\username
# Это может потребовать доработки при использовании внешних схем аутентификации
;   valid users = %S

# Раскомментируйте следующее и создайте директорию netlogon для входов в домен
# (вам также нужно настроить Samba как контроллер домена.)
;[netlogon]
;   comment = Служба сетевой авторизации
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes

# Раскомментируйте следующее и создайте директорию профилей для хранения
# профилей пользователей (см. опцию "logon path" выше)
# (вам также нужно настроить Samba как контроллер домена.)
# Путь ниже должен быть доступен для записи всеми пользователями, чтобы их
# директория профиля могла быть создана в первый раз, когда они выполняют вход
;[profiles]
;   comment = Профили пользователей
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700

[printers]
   comment = Все принтеры
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

# Клиенты Windows ищут это имя шара как источник загружаемых
# драйверов принтеров
[print$]
   comment = Драйверы принтеров
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
# Раскомментируйте, чтобы разрешить удаленное администрирование драйверов принтеров Windows.
# Возможно, вам потребуется заменить 'lpadmin' на имя группы, к которой
# принадлежат ваши администраторы.
# Обратите внимание, что вам также необходимо установить соответствующие разрешения Unix
# для директории драйверов, чтобы эти пользователи имели права на запись в нее
;   write list = root, @lpadmin

сделайте директорию: “/var/lib/samba/usershares/” доступной для любой программы.
Так что выполните:

sudo chmod 777 /var/lib/samba/usershares

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

Ошибка net usershare с кодом 255 в среде Ubuntu 16.04 LTS часто свидетельствует о проблемах с разрешениями или конфигурацией самого Samba. В данном случае вы столкнулись с трудностью при попытке сделать общим содержащийся на вторичном жестком диске каталог, в то время как основной SSD работает корректно. Давайте рассмотрим, как исправить это, включая важные аспекты настройки Samba и разрешений.

Проблемы конфигурации Samba

  1. Проверка конфигурационного файла smb.conf: Ваша запись #usershare owner only=false указана как закомментированная, что может быть причиной проблем. Убедитесь, что это значение не закомментировано и установлено правильно:

    usershare owner only = false

    Это позволит пользователям, имеющим соответствующие права, создавать и управлять сетевыми папками.

  2. Опции пользователей: Проверьте, есть ли у вас установленные параметры для usershare. Например, у вас уже стоит usershare allow guests = yes, что является хорошей практикой, если вы хотите разрешить доступ к общим папкам без аутентификации.

  3. Путь для общих ресурсов: Убедитесь, что путь к вашему общему ресурсу, расположенному на вторичном диске, правильно прописан и доступен для Samba.

Разрешения на каталоги

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

  1. Обеспечение доступа к директории для общих ресурсов:

    sudo chmod 777 /var/lib/samba/usershares

    Этот шаг позволит всем пользователям использовать каталог для создания и управления расшаренными папками. Однако, будьте осторожны с использованием 777, так как это дает права на чтение, запись и выполнение всем пользователям. Вы можете настроить более ограниченные разрешения, если это необходимо после тестирования.

  2. Проверьте разрешения на вторичном жестком диске: Убедитесь, что при монтировании вторичного диска у вас есть настройки, позволяющие Samba доступ к папкам. Например, вам стоит добавлять параметры в /etc/fstab, чтобы установить правильные разрешения:

    UUID=your-drive-uuid /mount/point ext4 defaults,uid=your-username,gid=your-group-name,umask=0022 0 0

    Это позволит задать владельца и группу для всех файлов и каталогов на диске.

Проверка и отладка

  1. Логи Samba: Проверьте файлы логов Samba, чтобы получить больше информации о том, что именно идет не так. Логи находятся в /var/log/samba/. Важно обратить внимание на файлы, такие как log.smbd и log.nmbd.

  2. Тестирование конфигурации:

    После внесения изменений в конфигурационный файл или разрешения рекомендуется протестировать конфигурацию Samba:

    testparm

    Эта команда проверяет конфигурацию и указывает на возможные ошибки.

  3. Перезапуск Samba:

    После завершения изменений в конфигурации обязательно перезапустите Samba, чтобы изменения вступили в силу:

    sudo systemctl restart smbd

Заключение

Следуя этим шагам, вы должны устранить ошибку net usershare с кодом 255. Основное внимание нужно уделить разрешениям на файлы и правильной конфигурации Samba. Если проблемы все еще сохраняются, возможно, будет полезно обратиться к сообществу или документации Samba для более глубокого разбора вашей ситуации. Самое главное — не теряйте терпения, и каждая проблема имеет свое решение.

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

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