- Установка и настройка файлового сервера Samba на Ubuntu
- Подготовка сервера
- 1. Время
- 2. Брандмауэр
- Установка и запуск Samba
- Создание первой шары и предоставление к ней гостевого доступа (анонимного)
- Доступ к папке по логину и паролю
- Доступ к папке определенным пользователям и группам
- Как установить и настроить Samba в Ubuntu 18.04
- How to Install and Configure Samba on Ubuntu 18.04
- В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.
- Прежде чем приступить
- Установка Samba в Ubuntu
- Настройка межсетевого экрана
- Настройка глобальных параметров Samba
- Создание пользователей Samba и структуры каталогов
- Создание пользователей Samba
- Настройка общих ресурсов Samba
- Подключение к общему ресурсу Samba из Linux
- Использование клиента smbclient
- Монтирование общего ресурса Samba
- Использование графического интерфейса
- Подключение к общему ресурсу Samba из macOS
- Подключение к общему ресурсу Samba из 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 оставить как в примерах выше.
Источник
Как установить и настроить Samba в Ubuntu 18.04
How to Install and Configure Samba on Ubuntu 18.04
В этом руководстве объясняется, как установить Samba в Ubuntu 18.04 и настроить его как автономный сервер для обеспечения обмена файлами между различными операционными системами по сети.
Samba — это бесплатная и открытая повторная реализация сетевого протокола обмена файлами SMB / CIFS, который позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.
Мы создадим следующие общие ресурсы и пользователей 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. Мы создадим пользователей с помощью стандартного useradd инструмента Linux , а затем установим пароль пользователя с помощью 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 учетную запись пользователя в базу данных Samba, установив пароль пользователя:
Вам будет предложено ввести и подтвердить пароль пользователя.
После того, как пароль установлен для запуска учетной записи Samba:
Чтобы создать другого пользователя, повторите тот же процесс, что и при создании пользователя josh .
Далее давайте создадим пользователя и группу sadmin . Все члены этой группы будут иметь права администратора. Позже, если вы захотите предоставить административные права другому пользователю, просто добавьте этого пользователя в sadmin группу .
Создайте пользователя с правами администратора, набрав:
Команда выше будет также создать группу sadmin и добавить пользователя как sadmin и sambashare группы.
Установите пароль и включите пользователя:
Затем создайте Users общий каталог:
Установите владельца каталога на пользователя sadmin и группу sambashare :
Этот каталог будет доступен всем авторизованным пользователям. Следующая chmod команда предоставляет доступ для записи / чтения членам sambashare группы в /samba/users каталоге:
Настройка общих ресурсов Samba
Откройте файл конфигурации Samba и добавьте разделы:
Параметры имеют следующие значения:
- [users] и [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 на сервере 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 в следующем формате smb://samba_hostname_or_server_ip/sharename .
- Нажмите «Подключиться», и появится следующий экран:
Подключение к общему ресурсу Samba из macOS
В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного файлового менеджера macOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Перейти» и нажмите «Подключиться к».
- В поле «Подключиться к» введите адрес общего ресурса Samba в следующем формате smb://samba_hostname_or_server_ip/sharename .
Нажмите «Подключиться», и появится следующий экран:
Подключение к общему ресурсу Samba из Windows
Пользователи Windows также могут подключиться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
- Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес общего ресурса Samba в следующем формате \\samba_hostname_or_server_ip\sharename .
Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:
В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
Вывод
В этом руководстве вы узнали, как установить сервер Samba в Ubuntu 18.04 и создать различные типы общих и пользователей. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
Источник