Ubuntu 18 samba настройка

Обновлено: 06.07.2024

Samba позволяет настроить файловое хранилище различных масштабов — от малых офисов для крупных организаций. В данной инструкции мы рассмотрим процесс настройки файлового сервера. Сначала мы выполним установку и базовую настройку с предоставлением гостевого доступа. После будет приведены примеры разграничения доступа по пользователям, группам и пользователям Active Directory.

Подготовка сервера

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

По умолчанию, в системах на базе Debian брандмауэр разрешает все соединения. Но если в нашем случае мы используем брандмауэр, необходимо открыть порты:

iptables -I INPUT -p tcp --dport 445 -j ACCEPT

iptables -I INPUT -p udp --dport 137:138 -j ACCEPT

iptables -I INPUT -p tcp --dport 139 -j ACCEPT

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

apt-get install iptables-persistent

Установка и запуск Samba

Установка выполняется из репозитория одной командой:

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился:

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

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

Создание первой шары и предоставление к ней гостевого доступа (анонимного)

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

И добавляем настройку для общей папки:

[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

  • [Общая папка] — имя общей папки, которое увидят пользователи, подключившись к серверу.
  • comment — свой комментарий для удобства.
  • path — путь на сервере, где будут храниться данные.
  • public — для общего доступа. Установите в yes, если хотите, чтобы все могли работать с ресурсом.
  • writable — разрешает запись в сетевую папку.
  • read only — только для чтения. Установите no, если у пользователей должна быть возможность создавать папки и файлы.
  • guest ok — разрешает доступ к папке гостевой учетной записи.
  • create mask, directory mask, force create mode, force directory mode — при создании новой папки или файла назначаются указанные права. В нашем примере права будут полные.

Создаем каталог на сервере и назначим права:

mkdir -p /data/public

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

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

Доступ к папке по логину и паролю

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

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

  • path = /data/staff — используем новый путь до папки.
  • public = no — запрещаем публичный доступ.
  • guest ok = no — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

Теперь создадим пользователя в samba:

smbpasswd -a staff1

systemctl restart smbd

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

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

Доступ к папке определенным пользователям и группам

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

Открываем конфигурационный файл samba:

Добавляем настройку для новой папки:

[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes

* стоит обратить внимание на следующие настройки:

  • path = /data/private — используем новый путь до папки.
  • writable = no и read only = yes — в данном примере мы разрешим запись в каталог только некоторым пользователям. Поэтому общие настройки, разрешающие запись в папку, должны быть запрещены.
  • valid users — список пользователей, которым разрешено подключаться к каталогу. В данном примере разрешения работают для пользователей admin, staff2 и staff3, а также для всех, кто входим в группу privateusers.
  • write list — список пользователей, которые имеют доступ к папке на чтение и запись. В данном примере мы разрешаем это только для пользователей admin и staff2.
  • inherit owner — опция позволяем включить наследование владельца при создании папок и файлов.

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

Добавить ранее созданного пользователя в эту группу:

usermod -a -G privateusers staff1

Проверяем возможность работы с новым каталогом.

Сетевая корзина

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

Открываем конфигурационный файл:

[Recycle]
comment = Snap Directories
path = /data/recycle
public = yes
browseable = yes
writable = yes
vfs objects = recycle
recycle:repository = .recycle/%U
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 0
recycle:exclude = *.tmp,

  • vfs objects = recycle — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

chmod 777 /data/recycle

systemctl restart smbd

Пробуем зайти в сетевой каталог Recycle и создать, а после удалить файл. Он должен оказаться к скрытой папке .recycle.

Для автоматической чистки сетевой корзины можно создать скрипт:

/usr/bin/find $recyclePath -name "*" -ctime +$maxStoreDays -exec rm <> \;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

Для подключения сетевого диска, который будет автоматически создаваться при запуске системы, в проводнике сверху нажимаем Простой доступ - Подключить как диск:

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \\samba.dmosk.local\AD ACL /persistent:yes

* где x: — имя сетевого диска; \\samba.dmosk.local\AD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

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

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs "//192.168.1.15/ad" /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

. мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\\\192.168.1.15\\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

Или полный список возможных команд:

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

Параметр задает список разрешенных хостов или сетей, с которых можно подключаться к серверу. Если его прописать в секцию с настройкой шары, то он будет действовать только для нее, если прописать в [global], то для всех общих папок.

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.

Мы создадим следующие общие ресурсы и пользователей Samba.

Общие файловые ресурсы будут доступны со всех устройств в вашей сети. Позже в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.

Подготовка

Прежде чем продолжить, убедитесь, что вы вошли в систему Ubuntu 18.04 как пользователь с правами sudo .

Установка Samba в Ubuntu

Samba доступна в официальных репозиториях Ubuntu. Чтобы установить его в вашей системе Ubuntu, выполните следующие действия:

Начните с обновления индекса пакетов apt:

Установите пакет Samba с помощью следующей команды:

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

Результат должен выглядеть примерно так, как показано ниже, показывая, что служба Samba активна и работает:

На этом этапе Samba установлена и готова к настройке.

Настройка межсетевого экрана

Если в вашей системе Ubuntu запущен брандмауэр, вам необходимо разрешить входящие UDP-соединения на портах 137 и 138 и TCP-соединения на портах 139 и 445 .

Предполагая, что вы используете UFW для управления своим брандмауэром, вы можете открыть порты, включив профиль Samba:

Настройка глобальных параметров Samba

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

Файл конфигурации по умолчанию, который поставляется с пакетом Samba, настроен для автономного сервера Samba. Откройте файл и убедитесь, что server role установлена на standalone server

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

После этого запустите утилиту testparm чтобы проверить файл конфигурации Samba на наличие ошибок. Если нет синтаксических ошибок, вы увидите Loaded services file OK.

Наконец, перезапустите службы Samba с помощью:

Создание пользователей Samba и структуры каталогов

Для упрощения сопровождения и гибкости вместо использования стандартных домашних каталогов ( /home/user ) все каталоги и данные Samba будут расположены в каталоге /samba .

Чтобы создать каталог /samba введите:

Установите групповое владение sambashare . Эта группа создается во время установки Samba, позже мы добавим в эту группу всех пользователей Samba.

Samba использует систему разрешений пользователей и групп Linux, но имеет собственный механизм аутентификации, отличный от стандартной аутентификации Linux. Мы создадим пользователей, используя стандартный инструмент Linux useradd , а затем установим пароль пользователя с помощью утилиты smbpasswd .

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

Создание пользователей Samba

Чтобы создать нового пользователя с именем josh используйте следующую команду:

Параметры useradd имеют следующие значения:

Создайте домашний каталог пользователя и установите владельца каталога на пользователя josh и группу sambashare :

Следующая команда добавит бит setgid в каталог /samba/josh чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создает новый файл, у файла будет владелец группы sambashare . Например, если вы не установите права доступа к каталогу на 2770 и пользователь sadmin создаст новый файл, пользователь josh не сможет читать / писать в этот файл.

Добавьте josh запись пользователя josh в базу данных Samba, установив пароль пользователя:

Вам будет предложено ввести и подтвердить пароль пользователя.

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

Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh .

Далее давайте создадим пользователя и группу sadmin . Все члены этой группы будут иметь права администратора. Позже, если вы захотите предоставить административные права другому пользователю, просто добавьте этого пользователя в группу sadmin .

Создайте пользователя с правами администратора, набрав:

Приведенная выше команда также создаст группу sadmin и добавит пользователя в группы sadmin и sambashare .

Установите пароль и включите пользователя:

Затем создайте общий каталог Users :

Установите владельца каталога на пользователя sadmin и группу sambashare :

Этот каталог будет доступен всем авторизованным пользователям. Следующая команда chmod предоставляет доступ для записи / чтения членам группы sambashare в sambashare /samba/users :

Настройка общих ресурсов Samba

Откройте файл конфигурации Samba и добавьте разделы:

Параметры имеют следующие значения:

Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba .

После этого перезапустите службы Samba с помощью:

В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.

Подключение к общему ресурсу Samba из Linux

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

Использование клиента smbclient

Чтобы установить smbclient в Ubuntu и Debian, запустите:

Чтобы установить smbclient в CentOS и Fedora, запустите:

Синтаксис для доступа к общему ресурсу Samba следующий:

Например, чтобы подключиться к josh ресурсу с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh вы должны запустить:

Вам будет предложено ввести пароль пользователя.

После ввода пароля вы войдете в интерфейс командной строки Samba.

Монтирование общего ресурса Samba

Чтобы смонтировать общий ресурс Samba в Linux, вам сначала нужно установить пакет cifs-utils .

В Ubuntu и Debian запустите:

В CentOS и Fedora запустите:

Затем создайте точку монтирования:

Подключите общий ресурс с помощью следующей команды:

Например, чтобы смонтировать общий ресурс с именем josh на сервере Samba с IP-адресом 192.168.121.118 от имени пользователя josh в точку монтирования /mnt/smbmount вы должны запустить:

Вам будет предложено ввести пароль пользователя.

Использование графического интерфейса

Files, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.

Подключение к общему ресурсу Samba из macOS

В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.

Подключение к общему ресурсу Samba из Windows

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

  1. Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
  2. Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
  3. В поле «Интернет или сетевой адрес» введите адрес \samba_hostname_or_server_ipsharename Samba в следующем формате \samba_hostname_or_server_ipsharename .
  4. Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
  5. В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
  6. Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
  7. Нажмите «Готово», и будут показаны файлы на сервере Samba.

Выводы

В этом руководстве вы узнали, как установить сервер Samba в Ubuntu 18.04 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

Samba - это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.

В этой небольшой инструкции будет рассмотрена простейшая настройка Samba Ubuntu 18.04, а также как настроить общий доступ к папке Ubuntu с несколькими уровнями привилегий.

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

Получить доступ к расшаренным папкам в Ubuntu смогут как Linux так и Widnows машины, с помощью любой программы для работающей по протоколу SMB.

Подготовка Windows

Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba. По умолчанию для Windows, Linux и MacOS рабочая группа называется Workgroup. Чтобы узнать какая рабочая группа используется в вашей Windows откройте командную строку (Win+R, затем cmd) и выполните вот такую команду:

net config workstation

share1

share

Нужный нам параметр мы видим в строке Домен рабочей станции. Это и есть рабочая группа.

Теперь, если у компьютера с Samba сервером в вашей сети будет постоянный IP адрес желательно ввести его в файле hosts. Для этого запустите командную строку от имени администратора:

share3

И выполните команду:

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

Теперь можно переходить к вопросу как расшарить папку Ubuntu.

Настройка Samba в Ubuntu

Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba


Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

После создания резервной копии, создайте свой файл конфигурации, этой командой:

sudo vi /etc/samba/smb.conf

Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes

Рассмотрим подробнее что значат эти строки.

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.

Общий доступ к папке Ubuntu

Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.

Создайте папку, к которой будем открывать доступ, например:

sudo mkdir -p /samba/allaccess

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

cd /samba
sudo chmod -R 0755 allaccess
sudo chown -R nobody:nogroup allaccess/

Следующим шагом будет описать папку allaccess в файле настройки samba:

[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Теперь ваш конфигурационный файл должен выглядеть вот так:


Рассмотрим подробнее опции, которые были здесь использованы:

  • path - путь к папке, которую нужно расшарить;
  • browsable - будет ли папка отображаться в списке доступных шар;
  • writable - будет ли папка доступна для записи;
  • read only - папка доступна только для чтения;
  • guest ok, public - будет ли разрешен гостевой доступ;
  • only guest - если установлено yes, то папка будет доступна только гостям;
  • hosts allow - ip адреса, с которых можно получить доступ к этому серверу;
  • valid users - по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
  • create mask - маска прав для создаваемых файлов.

Чтобы применить изменения, перезапустите сервер Samba:

sudo systemctl restart samba

Настройка Samba Ubuntu для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

share5

Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации samba. Настойка Samba шары с доступом без авторизации завершена.

Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:


Защищенный общий доступ к папке Ubuntu

Чтобы расшарить папку для Windows Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.

Сначала создаем папку:

sudo mkdir -p /samba/allaccess/secured

Дальше установим такие права, чтобы доступ к папке могли получить только пользователи из группы securegroup.

sudo addgroup securedgroup

cd /samba/allaccess
$ sudo chown -R richard:securedgroup secured
$ sudo chmod -R 0770 secured/

Последний шаг, добавляем настройки в конфигурационный файл samba:

sudo vi /etc/samba/smb.conf

[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes


Перезапустите сервер Samba. Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.

Чтобы проверить как это работает добавим пользователя richard в нашу группу:

sudo usermod -a -G securedgroup richard

Чтобы пользователь мог работать с расшаренными папками в Ubuntu, он должен быть в базе данных Samba. Поэтому создадим для него пароль Samba:

sudo smbpasswd -a richard

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

Если вы хотите чтобы общий доступ к папке Ubuntu мог получить доступ только определенный пользователь замените в конфигурационном файле @securegroup на имя пользователя. Также можно указать несколько пользователей через запятую или несколько групп.

Выводы

Вот и все. Теперь вы знаете как правильно выполняется установка Samba на Ubuntu 18.04, а также ее настройка. Кроме ручного редактирования конфигурационных файлов, для того чтобы расшарить папку в Ubuntu можно воспользоваться графической утилитой system-samba-config. Но после того как мы разобрали все низкоуровневые настройки, с этой утилитой вы справитесь без труда.




Оцените статью:

(22 оценок, среднее: 4,68 из 5)

Об авторе

65 комментариев

о, буду пробовать

Вы думаете основная масса поняла? Расскажите лучше как пользоваться конфигурационной оболочкой. Кстати она в 16.04 даже не запускается))

сроду линухи не настраивал, но по этой статье всё настроил.
хотя возникли и проблемы:
1. опечатки в конфиге))
2. множественный доступ из Виндовс к линукс.
вроде доступ настроен, а доступа к папке нет!
но разобрался, возможно стоит добавить об этом статью.
в Windows приходится сбрасывать подключения
net use * /delete

Присоединяюсь к Vladimir. В Xubuntu через GUI все настроил без проблем, в Ubintu 16.04.01 это просто какой-то геморрой, оболочка графическая не запускается, через терминал ничего не выходит. Блин, система, созданная для серваков, не может папку в два клика расшарить по локалке. Слов нет, одни маты.

Короче, сам спросил — сам отвечаю. Метод лечения графической оболочки Samba в Ubuntu 16.04 следующий:

$ gksu system-config-samba (при необходимости команду gksu устанавливаем)
2. Пишет, что отсутствует файл. Создаем его командой

$ sudo touch /etc/libuser.conf
3. Запускаем снова

После этого все работает, только если пользуете файервол, не забудьте в Gufw установить разрешения для Samba.

Alex, СПАСИБО Вам огромнейшее! Тоже не хотела графическая оболочка работать на 16.04 Ubuntu Mate . Онатам по умолчанию даже не была установлена, а после установки не хотела запускаться. Ну, и автору еще раз спасибо, что поднял данную тему.

Alex Огромное спасибо.Samba с помощью GUI настраивается в три щелчка.

Тру система для серваков Ред Хот или Центос и даже супер пупер ламерская Убунту ну никак не проиграет, что в два клика не шариться папка. Хотя б из соображений сякой-такой стабильности и априори безопасности. Сервак 'то область отвественности, которая измерятся, иногда, в сотни долларов в секунуду. И уж никак не потому, что там папки разшарен'. Ваш взгляд на вещи просто дичь, уважаем'й с'р. Сотрите Ваш пост на уважаемом рессурсе.

Такая же проблема, согласен с Alex.

Сервер настроил, но Win 10 Pro не видит его и в ответ на команду: srvr1allaccess

Сервер Самба настроил и всё по инструкции сделала, но Win 10 отвечает на команду : "srvr1allaccess" "Не найдено сетевое имя" Подскажите, что делать.

to Юрий: «srvr1allaccess» это путь к папке для примера:), пропиши именно свой. и в samba.conf, тоже все свое, удачи!

имя твоего компа с убунтуимя твоей шары.

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

Спасибо, самая понятная статья по самбе,
хорошая идея выделять команды окнами контрастного цвета,
новичку легко разобраться.

Ubuntu 16 это еще тот гемар. Сижу пока на 14той пока радует хотя и не всё.

Хорошо бы увидеть у вас хорошую статью по установке PDC (BDC) на Ubuntu 16.04.

Рабочий конфиг Самбы для доступа по паролю:
[share]
path = /mnt/shara
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
browseable = yes

Ну и зачем тут еще Ваш, для Ваших условий конфиг? Статья и так кривая (привязанная к конкретным папкам, именам), а Вы еще сильней запутать народ хотите? Кстати, создалось такое впечатление, что это пeреревод с какого-то импортного сайта (имя Ричард на Руси очень не типичное). Но автору все равно спасибо, - худо- бедно после двух часового экспериментирования получилось сконфигурить для своих условий.

БОЛЬШАЯ ПРОСЬБА: сделайте что-нибудь, чтобы страницы при печати (или при сохранении в PDF) имели удобочитаемый вид. Некоторые статьи удобно было бы сохранять в виде инструкций. Но в том виде, как они сохраняются (результат могу выслать) - пользоваться ими НЕВОЗМОЖНО. Хотя очень хочется.

Посмотрю что можно сделать.

Спасибо все работает, очень интересная статья еще бы добавить Информативности по больше ))) а так спасибо за проделанную работу

Первое:ваш сайт НЕВЕРОЯТНО ТЯЖЕЛЫЙ - современный комп на 64 бит проце и неплохой оперативой с трудом справляется. Сайт забит по-самые помидоры - флэшем и всякой ерундой. Второе:было сделано ВСЕ как написано - результат АБСОЛЮТНЫЙ НОЛЬ. Ни Windows ни Ubuntu не соединяются,не видят и вообще ничего НЕТ. Только Samba установилась плюс - поставил графическую - более человечную среду для нее : файл конфига просто отказывался вводить первые скобки и буквы - причины неизвестны,ну и по-х. сделал это через граф-среду : НАМНОГО УДОБНЕЕ вашего долбанутого терминала(ВСЕ должно быть проще - нажал кнопку - поставил - запустил - работает,как iPhone. ).Поэтому прекратите врать, что то о чем здесь написали - работает : это всего лишь очередной развод. Теперь из-за вашей поганенькой статейки - придется ВСЮ эту ерунду как-то вычищать с компа! Лучше бы делом занимались - электричество в отсталые районы давали бы.

Возможно добавить несколько рабочих групп к папке? Как это сделать ?

Спасибо за инструкцию. Все заработало с первой попытки.

в течении 2 недель ставлю сервером 16.04 переустанавливал заново 6 раз. Настроить самбу не могу. Что удивляет - если погуглить как настроить самбу - нет одинаковых решений, даже пакеты предлагают разные. НУ решил использовать данный мануал. У меня сеть с доменом. прописал все как тут прописано по доступу ВСЕХ. Машины из домена шару видят. Зайти не могут пишут разрешение на доступ \\192.168.1.101\allaccess отсутствует.
Всю голову сломал в чем дело ? настройки проверил по буквам , все в порядке, где еще копать ? ( сервер домена win 2008 r компы клиентов win 7 - 64 )
ПОМОГИТЕ КТО НИБУДЬ .

Та же самая фигня, СТАРАЯ SAMBA на других компах (работающая давным давно) отлично работает с любыми Виндами от XP до Windows 7 и такими же старыми SAMBA-ми как и она сама - доступ полный до расшареных папок и т.д. короче все работает, НО! после версии SAMBA 2:4.1.6 а это точно про Ubuntu 16.04 в ней даже эту старую версию не вернуть, так как ее уже УДАЛИЛИ из Репозиториев, но именно она. та старая версия самая работоспособная в отличии от всех что после нее выходили. короче не работает Ubuntu 16.04 Samba - имена компов в сети видит - зайти на них не может даже если Юзернейм и Пасс прописать совершенно одинаковый везде, хорть с паролем хоть без (хотя на вышеупомянутую старую Runtu со старой самбой даже Виндовые машины заходят без паролей - так потому что настроено и так надо!) не заходят никак вообще - Окно с паролем и доменом просто перезагружается до бесконечности как будто параметры не верные были введены - короче я ТОЖЕ еще не победил этот ИДИОТИЗМ и чем дальше тем больше разочарования от Линукса. МЛЯТЬ НУ НЕ ДОЛЖНО ЛОМАТЬСЯ ТО ЧТО РАНЬШЕ РАБОТАЛО КАК ЧАСЫ. мне стыдно за профессию программист, это бег по кругу, и мне стыдно за Линукс, эти ДОЛБОЕБЫ котрые считают себя программистами которые ЛОМАЮТ с каждым годом все больше и больше просто ОПОЗОРИЛИ Линукс с ног до головы, раньше Линукс считался чуть ли не эталоном Отказоустойчивой и работоспособной системы - сейчас глюк на глюке, дырка на дырке, проблема на проблеме, дошло до того что ОДНА И ТА ЖЕ СБОРКА с одной и той же флешке установленая на ДВА разных ноутбука - НЕ ВИДЯТ ДРУГ ДРУГА никаким образом, но стоит установить какую нибудь старую версию 10 ил 12 4-5 летней давности - все впорядке с сеткой (простой одноранговой) - работает как это говорят "из коробки". Новые - НЕТ, не работают. Я знаю что это проблема чаще индивидуальная, но меня БЕСИТ что умудряются сломать ТО что раньше РАБОТАЛО как часы. Я все сказал.

map to guest = Bad User в секцию [global] - и будет гостевой доступ в новых версиях. Иначе не пустит, будет ругать за пустой или неверный (если что-то ввели) логин. Насчет user-level авторизации - для WORKGROUP сойдет вход по учетке на linux, для домена лучше изучить статью Setting up a Share Using Windows ACLs на офсайте Samba.

Сетевые папки видны, но доступа нет ни на запись, ни на чтение. Система пишет нет : Возможно у вас нет права доступа. обратитесь в администратору .
Не понятно куда копать. Уже несколько дней пытаюсь настроить.

Linuxmint 8 версии и несколько последующих, работали без проблем. 17 - 18 видит расшаренную папку но сервер не принимает пароль. Что с этим делать гугл не знает. Кругом доморощенные эксперты предлагают 10 совершенно разных способов настроить сервер и требуют конфиги. Сервер РАБОТАЕТ. Работают клиенты в Винде, даже в Андройде! Но в Linux, в этой сетевой системе, сломалось то что не должно ломатьсяю. Что читать какие логи? Как настроить клиент? Он вообще настраивается? Live дистрибутив тоже не может войти в папку. Читать 200 страничные мануалы не имею возможности, мне платят за другую работу. Если кто-то решил подобную проблему, прошу поделиться мудростью.

Мне помогло ntlm auth = yes в конфиге. А до этого выявил причину, задав log level = 2.
Причина в старом способе аутентификации WinXP:
ntlm_password_check: NTLMv1 passwords NOT PERMITTED for user

2Николай. Респектище тебе, мээээн. Большое спасибоооо. :))))) Мы весь моск сломали на тему почему после переезда на новую самбу все тачки с ХР и МФУ ("сканирование в папку smb") перестали авторизовываться по smb. Данные строчки проблему решили, всё ок. Ещё раз спасибо. С нас пыво 😉

Как подключиться к диску на Винде C: или D: c Линукса по сети? На винде нет расшариных папок, но например я с компа с виндой могу зайти на другой комп с виндовс по пути например //192.168.1.2/C$/, зная логин и пароль админа, а так же с андроида тоже захожу. А как с линукса зайти? С линуксом я только знакомлюсь. Расшаривать папки на винде не нужно, мне нужен доступ полностью к разделу диска, зная пароль админа.

Спасибо большое! Всё получилось с первого раза!
Задача: подключить диск SATA / USB 3.0 к Ubuntu и расшарить его в локальной сети, чтобы заходить с Windows7. Раньше делал общий доступ через "Общедоступная папка локальной сети"->"Опубликовать папку". Потом после переустановки Ubuntu (16.04 LTS), жмешь "Опубликовать папку"->Устанавливаешь предложенные пакеты Samba->Папка опубликована и даже в Windows7 видна, а доступа к ней нет. Chmod и chown запускал от superuser-а, но разрешения для дисков не менялись!
Решение: sudo apt-get purge samba. И дальше всё по инструкции написанной выше. Автору респект!

как добавить вторую папку?
типа
[AllAccess]
path = /media/admin/Мульт/
path = /media/admin/Фильмы/

writeable = yes
available = yes
; browseable = yes
public = yes
guest ok = yes
force user = root
force group = plugdev


Это краткое руководство показывает студентам и новым пользователям, как установить и настроить Samba в Ubuntu 20.04 | 18.04.

Samba позволяет системам Linux, включая Ubuntu, обмениваться файлами с системами Windows, включая Windows 10 и другие операционные системы.

Чтобы это руководство работало, вы можете настроить компьютеры с Windows и Ubuntu в одной подсети. Это означает, что они должны иметь возможность общаться по сети.

В этом руководстве мы будем использовать сеть 192.168.1.0/24.

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

Машины с Windows и Ubuntu будут членами локального домена или рабочей группы WORKGROUP .

Шаг 1. Определите рабочую группу Windows

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

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

Шаг 2: Добавьте Ubuntu в файл хоста Windows.

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

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

Затем добавьте локальную запись для машины Ubuntu, на которую будет ссылаться именованный ubuntu 16.04.

Сохраните изменения, и все готово.

Чтобы добавить имя системы Windows в файл хоста Ubuntu, нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть командный терминал.

Затем выполните следующие команды:

Затем введите IP-адрес с именем хоста для машины Windows, сохраните файл и выйдите.

ШАГ 3. Включите общий доступ к файлам

Чтобы сделать возможным совместное использование файлов, эта функция должна быть включена в системах Windows. Чтобы включить его, запустите командную строку от имени администратора и выполните следующие команды.

Совместное использование файлов должно быть включено на компьютере с Windows после выполнения приведенных выше команд.

Шаг 4: Установите Samba в Ubuntu

На этом этапе системы Windows и Ubuntu должны быть членами одной и той же рабочей группы, и обе системы имеют записи в своем локальном файле хоста для ссылки на другую по имени.

Затем войдите в систему с Ubuntu, чтобы установить Samba. Чтобы установить Samba, выполните следующие команды.

После установки Samba перейдите и настройте Samba.

Чтобы проверить, запущены ли службы Samba, выполните следующие команды:

Он должен выводить похожие строки, как показано ниж:

Шаг 5. Настройте общий ресурс Samba Public

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

Затем откройте файл конфигурации Samba, выполнив следующие команды..

sudo nano /etc/samba/smb.conf

Затем убедитесь, что вы настроили выделенные строки в соответствии с приведенными ниже.

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

Перезапустите сервисы Samba.

Шаг 6. Создайте общую папку

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

sudo mkdir -p /samba/public

Установите разрешения, чтобы каждый мог читать и писать в него.

Перезапустите Samba и откройте проводник Windows, чтобы просмотреть общую папку в Ubuntu.

Теперь перейдите на свой компьютер с Windows, и вы должны увидеть общую общую папку в Ubuntu при просмотре диспетчера файлов, как показано ниже.

Доступ должен быть у всех.

Шаг 6. Настройте частный общий ресурс Samba

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

Сначала создайте группу samba под названием smbgroup для общего ресурса .. только участники будут иметь доступ. Чтобы создать группы в Ubuntu, выполните следующие команды.

sudo addgroup smbgroup

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

sudo usermod -aG smbgroup richard

Наконец, всем пользователям, которым нужен доступ к защищенному общему ресурсу samba, потребуется ввести пароль. Чтобы добавить пользователя в базу паролей samba, выполните приведенные ниже команды для каждого пользователя.

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

Затем перейдите и создайте защищенный общий ресурс в каталоге / samba.

sudo mkdir -p /samba/ protected

Затем предоставьте доступ к этому общему ресурсу только root и группе участников..

Когда вы закончите создавать защищенный общий ресурс, перейдите и поделитесь им в файле smb.conf.

sudo nano /etc/samba/smb.conf

Затем добавьте блок конфигурации ниже в файл smb.conf чуть ниже предыдущего.

Сохраните изменения, и все готово.

Перезапустите Samba и проверьте свои изменения.

sudo service smbd restart

С помощью указанного выше формата можно определить гораздо больше общих ресурсов.

Только член smbgroup сможет получить доступ к Защищенной области…


Настроив общий ресурс сервера Samba в Debian 10 (Buster) / Ubuntu 18.04, вы можете легко обмениваться папками или файлами между операционными системами Windows и Linux.

В этом контексте машина Windows будет использоваться в качестве клиента для доступа к общему ресурсу Samba в Linux (Debian 10 / Ubuntu 18.04).

Шаг 1: Установите Samba Server в Debian 10 / Ubuntu 18.04

Чтобы установить Samba на Debian 10 Buster / Ubuntu 18.04, используйте команды:

Если вы используете статический IP-адрес, ответьте «no», когда вас попросят использовать настройки WINS от DHCP.


Шаг 2. Настройка общего ресурса Samba в Debian 10 Buster / Ubuntu 18.04

Samba использует файл конфигурации в /etc/samba/smb.conf.

Если вы измените этот файл конфигурации, изменения не вступят в силу, пока вы не перезапустите демон Samba.

Давайте начнем с создания каталога для обмена через Samba.

Каталог должен существовать, прежде чем его можно будет настроить в smb.conf.

Мы создадим один такой в /home.

Доступ всем без аутентификации (не рекомендуется)

Каталог должен быть доступен для чтения и записи для всех пользователей.

Настройте общий ресурс Samba в файле /etc/samba/smb.conf.

Настроить безопасный общий ресурс Samba (рекомендуется)

Установите групповое владение общим каталогом Samba для группы sambashare.

Создайте пользователей самбы.

Замените user1 на пользователя с общим доступом samba для создания.

Установите пароль пользователя и подтвердите его.

Включите учетную запись samba после установки пароля с помощью команды:

Мы создали домашний каталог пользователя в родительском каталоге общего ресурса Samba и установили право собственности на общую группу samba.

Давайте создадим другого пользователя.

Настроить безопасный общий ресурс Samba.

Перезапустите демон samba после внесения изменений.

Убедитесь, что служба работает.


Если у вас есть активный брандмауэр, запустите:

Шаг 3. Настройка клиентов Samba

Чтобы получить доступ к общему ресурсу Samba в системе Linux, вам необходимо установить и настроить клиент Samba.

Вы можете смонтировать общий ресурс samba в каталог в вашей локальной системе Linux, используя опции типа mount и cifs.

Монтирование samba с fstab

Затем я создал файл учетных данных.

Для компьютеров с Windows Desktop следуйте стандартному процессу монтирования общего ресурса Samba в Windows.

Читайте также: