- 🥤 Установка и настройка общего ресурса сервера Samba в Debian 10 / Ubuntu 18.04
- Шаг 1: Установите Samba Server в Debian 10 / Ubuntu 18.04
- Шаг 2. Настройка общего ресурса Samba в Debian 10 Buster / Ubuntu 18.04
- Доступ всем без аутентификации (не рекомендуется)
- Настроить безопасный общий ресурс Samba (рекомендуется)
- Шаг 3. Настройка клиентов Samba
- Монтирование samba с fstab
- Настройка Samba сервера на Ubuntu
- Настройка базовой конфигурации файлового сервера
- Пароли для доступа к файловому серверу
- Настройка более безопасной конфигурации и разграничение прав
- Настройка Samba в Debian 10
- Установка Samba в Debian 10
- Настройка Samba в Debian
- 1. Базовые настройки
- 2. Создание общего ресурса
- 3. Создание пользователя
- Как подключиться к Samba
- Выводы
🥤 Установка и настройка общего ресурса сервера Samba в Debian 10 / Ubuntu 18.04
Добро пожаловать в наше руководство по установке и настройке Samba Share на сервере Debian 10 (Buster) и системе Ubuntu 18.04 Linux.
Samba – это реализация протоколов Server Message Block (SMB) и Common Internet File System (CIFS) с открытым исходным кодом, предоставляющая услуги хранения файлов и печати между клиентами в различных операционных системах.
Настроив общий ресурс сервера 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.
- Docs – общее имя
- path = /home/share – каталог для обмена файлами
- guest ok = yes – включить гостевой доступ
- guest only = yes – все защищены как гости
- writable = yes – установить общий каталог как доступный для записи
- create mode = 0777 & directory mode = 0777 – разрешить доступ всем
Настроить безопасный общий ресурс Samba (рекомендуется)
Установите групповое владение общим каталогом Samba для группы sambashare.
Создайте пользователей самбы.
Замените user1 на пользователя с общим доступом samba для создания.
Установите пароль пользователя и подтвердите его.
Включите учетную запись samba после установки пароля с помощью команды:
Мы создали домашний каталог пользователя в родительском каталоге общего ресурса Samba и установили право собственности на общую группу samba.
Давайте создадим другого пользователя.
Настроить безопасный общий ресурс Samba.
Перезапустите демон samba после внесения изменений.
Убедитесь, что служба работает.
Если у вас есть активный брандмауэр, запустите:
Шаг 3. Настройка клиентов Samba
Чтобы получить доступ к общему ресурсу Samba в системе Linux, вам необходимо установить и настроить клиент Samba.
Доступ к общему ресурсу Samba – временно
Вы можете смонтировать общий ресурс samba в каталог в вашей локальной системе Linux, используя опции типа mount и cifs.
Монтирование samba с fstab
Затем я создал файл учетных данных.
Для компьютеров с Windows Desktop следуйте стандартному процессу монтирования общего ресурса Samba в Windows.
Источник
Настройка Samba сервера на Ubuntu
Samba широко применяется именно из за возможности работы с клиентами, использующими разные ОС. Она может быть интегрирована с Active Directory, что, тем не менее, распространенной практикой не является.
Файловый сервер, который будет настраиваться, предназначен для обслуживания 30-50 клиентов.
Будет последовательно настроено две базовые конфигурации: файловое хранилище, доступ к которому имеют все пользователи организации («файлопомойка«) и хранилище, имеющее определенные разграничения доступа.
Читаем описание пакета и проверяем зависимости:
Если в процессе установки возникает ошибка 404 — это означает, что каких-либо файлов, необходимых для корректной установки в репозиториях найдено не было.
Обновляем списки репозиториев (при необходимости заранее добавив нужные и устанавливаем пакет; && означает, что выполняться вторая часть команды будет только в случае если успешно будет выполнена первая).
apt-get update && apt-get install samba
workgroup = remote-tech-support
Значение параметра workgroup приводим в соответствие с рекомендациями, содержащимися в закомментированных строках конфига — указываем свой домен — настройка данного параметра, к слову, вовсе не обязательна.
Пакет будет работать при использовании опций по-умолчанию, однако чтобы обеспечить минимальный уровень безопасности одно значение необходимо скорректировать:
Убираем знак комментария перед параметром
security = user
Настройка базовой конфигурации файлового сервера
Функция Samba сейчас — обеспечивать минимальный функционал — возможность свободного обмена файлами.
Переходим к нижней части конфига и добавляем «шару»:
[Public Share]
comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no
Принципиальными являются директивы с названием шары, уровнем доступа и путем к каталогу, к которому предоставляется общий доступ.
read only определяет возможность писать в расшаренные файлы
guest ok позволяет или не позволяет неавторизованным пользователям использовать файловый сервер
Создает каталог для файлового сервера
Теперь логический том размеров 10 Гб, называем его vg0
Добавляем в fstab чтобы том монтировался каждый раз при перезагрузке компьютера
/dev/vg0/samba /mnt/fileserver ext4 defaults 0 0
Обновляем информацию о примонтированных устройствах
Проверяем, отображается ли шара в файловой системе
Пароли для доступа к файловому серверу
Пароли пользователей для работы с smbd отличаются от паролей системных пользователей (которые задаются в /etc/passwd).
Пароли для работы с Samba задаются при помощи команды smbpasswd
Создаем тестовые директории
Видим, что владелец TestA student
Владелец TestB — root
Сейчас целью является обеспечить возможность всем пользователям записывать информацию в файлы в обеих директориях.
Создаем новую группу fileserver и добавляем в нее пользователя student
Видим, что тестовые директории имеют группу владельца root.
Устанавливаем на директорию шары group ID bit.
За счет +s права (принадлежность пользователю) будут наследоваться всеми файлами, создаваемыми внутри расшаренного
Проверяем, что значится группа пользователя fileserver
Добавляем в конфиг строку, за счет которой все пользователи, получающие доступ к шаре, будут временно добавляться в группу fileserver
[Public Share]
comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no
force group = fileserver
force create mode = 666
force create mode = 777
Открываем другой терминал и логинмся от имени пользователя student
ALT + F2
Создадим файлы, которые владельцем которых будет student
drwxr-sr-x student fileserver TestA
drwxr-sr-x student fileserver TestB
Владелец каталогов student, группа владельца — fileserver. Присутствует security bit (s), установленный ранее.
Включаем ПК с ОС Windows, находящийся в той же подсети. авторизуемся с реквизитами пользователя student.
В командной строке набираем //server01 (или любое другое имя, данное ранее серверу)
Видим каталог Public share, в котором находятся директории TestA и TestB
Создаем текстовый документ в Public share — убеждаемся в том, что никаких ошибок не возникает.
Смотрим свойства TestB — видим, что владелец каталога root, группа — fileserver. Для TestA — fileserver и student соответственно.
В TestA можно создавать и редактировать любые файлы, TestB можно просматривать за счет группы fileserver, создавать и изменять файлы здесь нельзя.
Прав пользователя или прав группы на запись достаточно. Необходимости использовать и пользователя и группу для одного каталога нет.
Настройка более безопасной конфигурации и разграничение прав
Сейчас мы изменим конфигурацию Samba предоставив каждому пользователю каталог для хранения персональной информации
снимаем знаки комментария со строк, относящихся к секции [Home]. После перезапуска Samba при авторизациии каждый пользователь будет видеть каталог имя которого будет совпадать с именем пользователя, в данном каталоге могут храниться персональные данные, дсотуп к которым будет только у пользователя-владельца каталога (и у root-а).
Устанавливаем значение параметра read only в секции в no, также редактируем значения других параметров:
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Идем в Windows. Необходимо обновить список расшаренных каталогов поскольку ОС кэширует данные — один из способов — перейти непосредственно в каталог пользователя, в командной строке набираем \\server01, затем в поле адреса \\server01\student
Оказываемся в домашнем каталоге пользователя, где можем создавать файлы и директории. Создаем каталог
Обратно в Linux. Смотрим права и видим, что владелец и группа владельца student
[Accounting]
comment = Share for accounting department
read only = no
path = /mnt/fileserver/Accounting
guest ok = no
force group = +accounting
force create mode = 660
force directory mode = 770
Здесь добавляем безопасности за счет выставления +accounting, в отличие от настроенной ранее конфигурации пользователи не добавляются в группу, а только используют ее для получения доступа к шаре. За счет выставления прав достигается невозможность пользователей не входящих в группу владельца даже читать файлы, созданные Samba.
Соответственно чтобы пользователю назначались права группы пользователей accounting, он должен уже состоять в ней.
[IT]
comment = IT department
read only = no
path = /mnt/fileserver/IT
guest ok = no
force group = +IT
force create mode = 660
force directory mode = 770
Добавляем группы и существующего пользователя в одну из групп. Все имена пользователей и групп в Linux чувствительны к регистру.
Задаем пользователей и группы пользователей:
chmod root.fileserver fileserver
chmod root.accounting Accounting
Проверям корректно ли настроена принадлежность каталогов
Удаляем тестовые каталоги:
Возвращаемся в Windows. Поскольку student является членом группы IT — он должен иметь доступ только в каталог, относящийся к департаменту IT. Доступ в другие каталоги для него должен отстутсвовать (он может просматривать содержимое директории Accounting, однако создавать и редактировать файлы не может). Убеждаемся в том, что это действительно так.
Произведем настройки согласно последнему сценарию. Создадим группу с ограниченным доступом.
chown www-data.internet_dev internet/
[internet]
comment = IT department
read only = no
path = /var/www/internet
guest ok = no
valid users = @internet_dev
force group = internet_dev
force create mode = 664
force directory mode = 775
Значение valid users здесь предполагает присутствие пользователей в группе internet_dev, также здесь можно задать список пользователей.
Иные права устанавливаются потому, что с каталогом /var/www/internet будут работать не только пользователи, но и, в данном случае, Apache
В Windows обновим информацию на экране (F5) и попытаемся открыть каталог internet. Если выполненные настройки корректны — успеха данные попытки иметь не будут — будет бесконечно выводиться окно ввода пароля.
Создадим и откроем документ в Windows — сохранение не выполняем.
В Linux выполняем smbstatus
smbstatus — команда, показывающая испольуземые шары, открытые в них файлы и использующих их пользователей.
Находим ID процесса, отвечающего за поддержание соединения с шарой (допустим, 2456) и убиваем его
Делаем ps aux и среди процессов видим вновь породившийся процесс того же рода, но с другим ID — его восстоздала Samba
Вновь идем в Windows и видим, что открытый, но не сохраненный документ находится в том же состоянии в котором мы его оставили, его можно продолжить редактировать, затем сохранить.
Проделанный опыт подтверждает, что при перебоях в работе файлового серевера данные, с которыми производится работа, потеряны не будут.
Читайте также про LVM — логические разделы, которые использовались при настройке Samba
Источник
Настройка Samba в Debian 10
Samba позволяет открывать доступ к файлам по локальной сети с компьютеров, работающих под управлением любой операционной системы. Samba также обеспечивает управление доступом к этим ресурсам используя только один конфигурационный файл. В Debian большая часть конфигурации создается автоматически, что значительно упрощает настройку сервера Samba.
Когда вы прочитаете эту инструкцию, вы будете знать как установить сервер Samba, как изменить глобальные настройки сервера Samba, как настроить новый общий ресурс, как настроить пользователя Samba и как подключиться к общей папке с другой машины.
Мы будем выполнять установку Samba Debian 10 Buster. Для установки нам потребуется доступ к системе с правами пользователя root. Команды которые начинаются с # — должны выполняться от имени root пользователя, или с применением инструкции sudo. Команды которые начинаются с $ могут выполняться от имени обычного не привилегированного пользователя.
Установка Samba в Debian 10
В Debian вы можете установить сервер Samba прямо из репозиториев. Установка выполняется с помощью одного пакета, потребуется выполнить лишь одну команду:
sudo apt install samba
Настройка Samba в Debian
Настройки 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 имя_пользователя
После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.
Как подключиться к Samba
Есть несколько пакетов, которые вам понадобятся для того чтобы подключиться к общему ресурсу Samba. Установите их при помощи следующей команды.
sudo apt install samba-client cifs-utils
Теперь вы можете открыть файловый менеджер и перейти в раздел Сеть. Там вы увидите свой сервер, а также — общий ресурс, который вы только что настроили.
Выводы
Теперь вы знаете как выполняется установка Samba Debian 10 и готовы начать создавать собственные общие папки, а также настраивать к ним доступ с других компьютеров Linux. Ничего другого делать не нужно, и Samba автоматически запустится при загрузке Debian.
Источник