- Как установить и настроить Samba в Ubuntu 18.04
- Подготовка
- Установка Samba в Ubuntu
- Настройка межсетевого экрана
- Настройка глобальных параметров Samba
- Создание пользователей Samba и структуры каталогов
- Создание пользователей Samba
- Настройка общих ресурсов Samba
- Подключение к общему ресурсу Samba из Linux
- Использование клиента smbclient
- Монтирование общего ресурса Samba
- Использование графического интерфейса
- Подключение к общему ресурсу Samba из macOS
- Подключение к общему ресурсу Samba из Windows
- Выводы
- Установка и настройка файлового сервера Samba на Ubuntu
- Подготовка сервера
- 1. Время
- 2. Брандмауэр
- Установка и запуск Samba
- Создание первой шары и предоставление к ней гостевого доступа (анонимного)
- Доступ к папке по логину и паролю
- Доступ к папке определенным пользователям и группам
Как установить и настроить Samba в Ubuntu 18.04
Samba — это бесплатная и открытая повторная реализация сетевого протокола обмена файлами SMB / CIFS, которая позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.
В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.
Мы создадим следующие общие ресурсы и пользователей Samba.
- sadmin — административный пользователь с правами чтения и записи для всех общих ресурсов.
- josh — Обычный пользователь со своим личным файловым хранилищем .
- users — этот общий ресурс будет доступен всем пользователям с разрешениями на чтение и запись.
- josh — этот общий ресурс будет доступен с разрешениями на чтение и запись только пользователям josh и sadmin.
Общие файловые ресурсы будут доступны со всех устройств в вашей сети. Позже в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу 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 имеют следующие значения:
- -M -не создавать домашний каталог пользователя. Мы создадим этот каталог вручную.
- -d /samba/josh — установить домашний каталог пользователя в /samba/josh .
- -s /usr/sbin/nologin — отключить доступ к оболочке для этого пользователя.
- -G sambashare — добавить пользователя в группу sambashare .
Создайте домашний каталог пользователя и установите владельца каталога на пользователя 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 и добавьте разделы:
Параметры имеют следующие значения:
- [users] и [josh] — имена [josh] ресурсов, которые вы будете использовать при входе в систему.
- path — Путь к общему ресурсу.
- browseable — должен ли общий ресурс отображаться в списке доступных общих ресурсов. Если установить значение « no другие пользователи не смогут видеть общий ресурс.
- read only — могут ли пользователи, указанные в списке valid users , писать в этот общий ресурс.
- force create mode — устанавливает разрешения для вновь созданных файлов в этом общем ресурсе.
- force directory mode — устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе.
- valid users — список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы имеют префикс @ .
Дополнительные сведения о доступных параметрах см. На странице документации файла конфигурации Samba .
После этого перезапустите службы Samba с помощью:
В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.
Подключение к общему ресурсу Samba из Linux
Пользователи Linux могут получить доступ к общему ресурсу samba из командной строки, используя файловый менеджер или смонтировать общий ресурс Samba.
Использование клиента smbclient
smbclient — это инструмент, который позволяет вам получить доступ к Samba из командной строки. Пакет smbclient не установлен предварительно в большинстве дистрибутивов Linux, поэтому вам нужно будет установить его с помощью диспетчера пакетов распространения.
Чтобы установить 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.
- Откройте файлы и нажмите «Другие места» на боковой панели.
- В поле «Подключиться к серверу» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
- Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из macOS
В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
- В поле «Подключиться к» введите адрес smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
- Нажмите «Подключиться», и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Будут показаны файлы на сервере Samba.
Подключение к общему ресурсу Samba из Windows
Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
- Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес \samba_hostname_or_server_ipsharename Samba в следующем формате \samba_hostname_or_server_ipsharename .
- Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
- В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
- Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
- Нажмите «Готово», и будут показаны файлы на сервере Samba.
Выводы
В этом руководстве вы узнали, как установить сервер Samba в Ubuntu 18.04 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
Источник
Установка и настройка файлового сервера Samba на Ubuntu
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 оставить как в примерах выше.
Источник