2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Fix Unable to access Samba share message with these solutions

Fix Unable to access Samba share message with these solutions

Madalina Dinita

Samba is an application-layer network protocol, with its primary purpose to provide shared access to files, however, many users reported Unable to access Samba share message while using it. This can be a big problem, so today we’ll show you how to fix it.

Samba runs on most Unix based systems, such as Linux OS for example. Samba also takes its name from Server Message Block or SMB. Most of the time, you’ll be using SMB to connect to devices that aren’t running Windows.

Starting from build 1709, Samba has a hard time working well since Windows disables unauthenticated access to shares that are using SMB2 with guest access enabled. However, there’s a way to fix this problem.

Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах. Обычно в Debian предоставляются неплохие настройки по умолчанию, которые позволяют начать работать немедленно, что в общем не мешает взглянуть на них и внести изменения там, где это необходимо.

1. Базовые настройки

Первое что вам встретится в верхней части группы глобальных настроек — настройка workgroup. Эта опция определяет имя рабочей группы Windows, частью которой станет ваш сервер. Значение по умолчанию — WORKGROUP, так как такое же значение, по умолчанию в задано в Windows. Если вы изменяли настройки рабочей группы в Windows, измените их также и здесь.

Следующая опция позволит ограничить доступ к вашему серверу. Если вы хотите ограничить доступ к общему ресурсу по ip адресу или маске сети, уберите символ комментария в строке где находится параметр interfaces, и укажите ip адрес или диапазон IP адресов, и интерфейс к которому они могут подключаться.

interfaces = 192.168.1.0/24 eth0

Если такой метод вам не нравится, вы можете добавить параметр hosts allow, чтобы определить, клиентов, которые могут подключаться к общему ресурсу. Укажите IP-адрес или диапазоны адресов.

hosts allow = 127.0.0.1/8 192.168.1.0/24

Остальные параметры из группы глобальных настроек имеют довольно обоснованные значения по умолчанию. Вам не потребуется изменять их для того чтобы запустить свои общие ресурсы. Но не стоит ограничиваться только рассмотренными нами опциями, вы можете исследовать и другие параметры, и настраивать их по своему усмотрению. Настройка Samba Debian 10 практически завершена, осталось создать общую папку и пользователя.

Читайте так же:
Как можно найти инн человека?

2. Создание общего ресурса

В конфигурационном файле, по умолчанию, уже присутствуют несколько настроек для общих ресурсов. Они дают вам возможность настроить совместное использование домашних папок пользователей системы и принтеров. А доступ к каталогу печати уже открыт. Измените значение параметра browseable на no.

Теперь попробуйте создать свой собственный общий ресурс. Существует масса опций, которые вы можете использовать для своего общего ресурса Samba, но в этом руководстве будут рассмотрены лишь наиболее используемые из них.

Во-первых, дайте имя своему общему ресурсу, и поместите это имя в скобки.

В следующей строке напишите краткий комментарий, описывающий общий ресурс.

comment = My new share

Затем задайте путь, эквивалентный абсолютному пути к общей папке.

Выберите, будет ли папка отображаться в файловом менеджере или же ее нужно будет подключать вручную.

Хотите ли вы, чтобы пользователи имели права на запись в общий ресурс или могли подключить его только для чтения?

Смогут ли гости получить доступ к общему ресурсу? В терминах Samba гости — это анонимные пользователи, для которых не существует записи в настройках доступа к общему ресурсу. Если выразиться короче, хотите ли вы защитить общий ресурс паролем, или ограничить доступ к ресурсу только для отдельных пользователей?

Если гости не будут иметь доступ к общей папке, то у кого он будет?

valid users = имя_пользователя

Ну вот и все. Есть еще и другие опции и другие способы выполнить эти базовые шаги, но они дадут вам в итоге приблизительно тот же результат. Если вы точно знаете что вам нужно, этих опций вам будет достаточно. Если соединить все что мы написали выше — у нас получится что-то вроде этого:

[New Share]
comment = A new share
path = /home/newuser/share
browseable = yes
read only = no
guest ok = no
valid users = newuser

Сохраняем и закрываем файл. Затем перезагружаем Samba.

systemctl restart smbd

3. Создание пользователя

Для подключения к общей папке, если только вы не используете гостевой доступ, вам потребуется настроить учетные записи пользователей Samba. Это очень быстро, и потребует всего одной команды.

smbpasswd -a имя_пользователя

После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.

Монтирование SMB

Монтирование SMB не что иное как подключение сетевой папки WIndows в Linux. SMB (Server Message Block) — сетевой протокол удаленного доступа к сетевым ресурсам (файлы, папки, принтеры и т.п.). В первой версии протокола был известен также как CIFS (Common Internet File System). Протоком SMB повсеместно используется во всех ОС Microsoft Windows.

Читайте так же:
Как оплатить кредит в Тинькофф по номеру договора?

В современных дистрибутивах Linux уже можно совершенной спокойно путешествовать по сетевым дискам. Но куда удобнее если смонтировать сетевой диск сразу в папку, да еще и на рабочем столе, красота. Я создал папку с общим доступом на сервере Hyper-V, её и буду монтировать. Монтирование SMB буду делать под специально заведенным пользователем, дабы не светить пароль админа.

Монтируемая папка

Монтируемая директория доступна только администраторам и пользователю smb (создан специально для монтирования). Сделать общую папку на сервере Windows можно двумя способами: 1 — через свойства папки; 2 — через Powershell. Через свойства папки проще и быстрее как для новичка.

Но в моем случае с сервером HyperV 2019 сработал только второй способ, через Powershell.

Данной командой я сделал общей папку расположенную по пути F:smb_mount и присвоил ей имя smb_mount. Права на доступ к папке выдал пользователю Administrator и smb.

Общая папка у меня доступна по пути \hvs19smb_mount, но монтировать я буду ее по ip адресу. Принципиального вопроса как монтировать нет, просто не всегда есть возможность использовать имя.

С монтируемой папкой закончили, создадим папку куда будем монтировать. Я создал папку в /opt и назвал её F (по имени диска где лежит монтируемая папка) для удобства.

Установим набор утилит для монтирования SMB

Для Ubuntu (и прочих Debian`ов)

Для Centos 8 (и прочих RPM дистрибутивов на YUM)

Монтирование SMB

Все необходимые папки мы создали, теперь приступим к монтированию файловой системы.

Пройдемся по параметрам:

  • -t cifs — тип файловой системы cifs (полностью совместим с SMB)
  • username — пользователь у которого есть доступ к монтируемой папке (на сетевом диске). Если разрешено, можно использовать гостя, без пароля. В таком случае указываем username=guest
  • password — пароль от учетной записи этого пользователя
  • //192.168.1.110/smb_mount — общая папка на сервере которую монтируем
  • /opt/F — папка куда монтируем.

Посмотрим что все получилось, проверим свободное место в сетевой папке

Можно использовать дополнительные возможности при монтировании, используя ключи после параметра -o. Вот некоторые из них

  • rw — запись и чтение
  • ro — только чтение
  • iocharset=utf8 — в данной кодировке будет выводится информация;
  • codepage=cp866 — кодировка используемая на сервере с общей папкой. Обычно Windows устанавливает кодировку cp866.
  • vers=3.0 — принудительно указать версию подключения SMB протокола. Для безопасного подключения используйте последнюю версию.
Читайте так же:
Как настроить ноутбук на раздачу wi fi?

Используя команду mount мы монтируем папку в ручном режиме и после перезагрузки монтирования не произойдет. Для автоматического монтирования папки читаем следующий раздел.

Автоматическое монтирование SMB

Для постоянного монтирования папке при старте системы необходимо внести изменения в файл /etc/fstab. При монтировании сетевого диска с SMB используется пароль. Для большей сохранности не будем указывать его в файле fstab, а сохраним в директории root.

Создадим файл с учетными данными

Добавим в файл строки: имя пользователя, пароль, домен (если используется). У меня домена нет, поэтому добавлю только имя и пароль

Откроем файл /etc/fstab для редактирования

Добавим новую строку в конец файла

Сохраним файл и перезагрузим компьютер. После этого сетевая папка будет монтироваться автоматически.

Разберем указанные параметры

  • //192.168.1.110 — ip адрес сервера где находится сетевая папка
  • /smb_mount — сетевая папка на указанном выше сервере
  • /opt/F — папка на локальном компьютере куда будем монтировать сетевую папку
  • cifs — тип монтируемой файловой системы
  • user — разрешение монтировать для любого пользователя
  • rw — разрешения на чтение/запись на диск при монтировании
  • credentials — путь к файлу с данными учетной записи используемых для подключения по SMB
  • — не использовать дамп
  • — не проверять файловую систему при старте программой fsck
Права на папки и файлы

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

  • uid — задает владельца каталога. Узнать uid пользователей можно в файле /etc/passwd
  • gid — задает группу владельца каталога. Узнать gid групп можно в файле /etc/passwd
  • file_mode=0777 — права на доступ к файлам. 0777 — разрешено запись/чтение всем.
  • dir_mode=0777 — права на доступ к папкам. 0777 — разрешено запись/чтение всем.

Пример записи в файле /etc/fstab монтирования от моего пользователя (не root) с полным доступом ко всем файлам и папкам

Размонтирование SMB

Размонтировать сетевую папку SMB можно используя команду umount

В параметрах команды umount указываем директорию куда была смонтирована сетевая папка. В моем случае это /opt/F

Если смонтированная файловая система сейчас занята, появится сообщение umount: target is busy . В таком случае размонтировать получиться с ключом -l

Решение проблем монтирования

Если по какой либо причине после ваших попыток папка все же не монтируется, необходимо смотреть системный журнал.

Читайте так же:
Что такое ТВ приставка Xiaomi?

В системном журнале будет указана причина ошибки монтирования. Как пример не верный логин/пароль, не установленные утилиты cifs и т.п.

Porteus

Moderator: Blaze

  • Print view
  • 1

Установка и настройка Samba — общий доступ к сетевым дискам

  • Quote

Post #1 by Blaze » 19 Dec 2015, 14:59

после чего откройте /etc/samba/smb.conf

3. Найдите и пропишите рабочую группу, которая используется в Windows вашей локальной сети.

в логе команды находим IP адрес и запоминаем его (IP должен быть статическим).

5. Переходим на другую локальную машину ( в которую входит samba сервер Porteus ), например под управлением Windows — открываем там Explorer (он же проводник — два раза нажимаем левой кнопкой мыши по Мой компьютер, Компьютер, Этот компьютер, в зависимости от версии Windows) и вводим в строке адреса

OLD72 Black ninja
Black ninjaPosts: 31 Joined: 17 Jan 2016, 20:25 Distribution: lubuntu Location: Украина

Re: Установка и настройка Samba — общий доступ к сетевым дис

  • Quote

Post #2 by OLD72 » 18 Mar 2016, 00:46

а как расшарить папки дирректории /mnt/sdb1/porteus/changes/home/guest/ ? а то вышеописанным способом видно только каталоги в дирректории
Image
а нужно, чтоб это отображалось
Image

сделайте symlink в папке root на guest

Для этого введите в консоле

не знаю что такое symlink, но в каталоге root появился ярлык guest. проблема в том, что при попытке зайти в нее с другого устройства , запрашивает пароль, но ни пароль от root, ни пароль от guest не пускает хотя во все остальные захожу без проблем
Image

Если используется доступ по логину/паролю

Решение 1 (неправильное, т.к. будет использоваться старый протокол SMB1):

1. Включить использование протокола SMB1 на Windows 10 (не рекомендуется)

Панель управления (или выполнить команду “control”) – Программы и компоненты – Включение или отключение компонентов Windows – Раздел “SMB 1.0/CIFS File Sharing Support”

  • Отключить “Автоматическое удаление протокола SMB 1.0/CIFS” (?)
  • Отключить “SMB 1.0/CIFS Server”
  • Включить “SMB 1.0/CIFS Client”

2. (необязательно) Отключить использование протокола SMB1 на файловом сервере NAS (магия! там включаем, тут отключаем, и все работает)

Решение 2 (правильное, но не работает):

1. Отключить использование протокола SMB1 на файловом сервере NAS (если еще не отключено)

Панель управления – Файловые службы – SMB – Дополнительные настройки – параметр “Минимальный протокол SMB” установить в SMB2

Узнать используется ли SMB2 на компе:

Установить использование SMB2:

Или отключить SMB1 отсюда:

Читайте так же:
Что делает врач при острой зубной боли?

Панель управления (или выполнить команду “control”) – Программы и компоненты – Включение или отключение компонентов Windows – Раздел “SMB 1.0/CIFS File Sharing Support”

2. Удалить сохраненный аккаунт из хранилища паролей Windows

3. Перезапустить Windows, т.к. система еще “помнит” аккаунт

4. После загрузки Windows попробовать войти в сетевую папку. Убедиться, что аккаунт сброшен, т.е. запрашивается логин/пароль.

5. Очистить кэш подключений SMB на сервере NAS

Панель управления – Файловые службы – SMB – Дополнительные настройки – внизу кнопка “Очистить кэш SMB”

6. Ввести логин/пароль к сетевой папке. Profit!

Важно очистить кэш подключений SMB на сервере NAS именно после того, как Windows “забудет” сохраненный аккаунт, т.е. после перезагрузки.

Решение не работает, т.к. после перезагрузки проблема возникает опять.

Как поделиться папками на компьютере с Ubuntu Linux

После запуска Samba вы можете легко обмениваться папками. Для этого сначала откройте Files.

Затем перейдите в папку, к которой вы хотите предоставить общий доступ в сети, и щелкните ее правой кнопкой мыши, чтобы открыть контекстное меню. В меню выберите Свойства.

В окне «Свойства» выберите общий сетевой ресурс и установите флажок «Поделиться этой папкой».

Измените имя общего доступа и добавьте комментарий, если хотите. Затем также установите или снимите флажок «Разрешить другим пользователям создавать и удалять файлы в этой папке» и «Гостевой доступ (для людей без учетной записи») в соответствии с тем, как вы хотите предоставить другим пользователям сети доступ к вашей общей папке.

Когда закончите, нажмите кнопку Create Share, чтобы начать общий доступ к этой папке в вашей сети, включая все компьютеры и устройства Windows, подключенные к ней.

Теперь попробуем зайти на сетевой диск Samba. Для этого в обозревателе файлов перейдите по адресу \10.20.1.16 , где 10.20.1.16 это ip адрес сервера, на котором мы выполняли настройку samba.

Подключение samba диска

Появится запрос на авторизацию. Укажите имя пользователя и пароль, которые мы задали этапом раньше. Вы окажетесь в сетевой директории. Попробуйте туда скопировать несколько файлов.

Нет доступа к целевой папке

Если получите ошибку — Нет доступа к целевой папке, Вам необходимо разрешение на выполнение целевой операции, значит у пользователя shareuser нет unix прав на запись в директорию /mnt/share . Исправляем это:

Попробуйте скопировать еще раз. Теперь должно быть все в порядке.

Доступ к сетевому диску samba

Все, на этом настройка Samba закончена. Удачной работы и хорошего аптайма!

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector