Файловый сервер Samba позволяет передавать файлы между серверами и компьютерами по сети. С его помощью, к примеру, вы можете получить доступ к файлам на сервере со своего рабочего компьютера или ноутбука. Ниже я расскажу, как установить и настроить файловый сервер Samba на Ubuntu.
Если вы только планируете устанавливать ubuntu, то можете воспользоваться моей подробной статьей на этот счет — установка ubuntu server. Так же вам может быть интересен мой обзор и сравнение сервера убунту с другими linux системами — Ubuntu Server — обзор для начинающих, сравнение, отзывы.
Введение
Из статьи вы узнаете:
- Как настроить файловый сервер Samba
- Как передавать файлы по локальной сети
- Ubuntu Server
- Локальная сеть для передачи файлов
Если у вас все готово, то приступаем к настройке.
Установка Samba
Для установки Samba, выполняем в консоли:
sudo apt update sudo apt install samba
Включаем поддержку SAMBA Протокола в WINDOWS 10 для подключения к СЕТЕВЫМ ДИСКАМ И РОУТЕРАМ smb 1.0
После того, как установка будет завершена, проверьте, куда установлена samba:
whereis samba
Вы должны увидеть примерно следующее:
samba: /usr/sbin/samba /usr/lib/samba /etc/samba /usr/share/samba /usr/share/man/man7/samba.7.gz /usr/share/man/man8/samba.8.gz
Настройка Samba
Когда Samba установлена, можно приступить к настройке. Нам необходимо создать директорию для сетевой папки.
sudo mkdir /mnt/share/
Команда выше создаст пустую папку, которую мы сделаем сетевой. Для этого настраиваем конфиг Самбы. Он живет по адресу /etc/samba/smb.conf . Отредактируем его и добавим новую сетевую директорию.
sudo nano /etc/samba/smb.conf
Добавляем туда следующие строки:
[sambashare] comment = Samba on Ubuntu Server path = /mnt/share read only = no browsable = yes
Нажмите Ctrl-O, чтобы сохранить и Ctrl-X, чтобы выйти из редактора nano.
Что мы настроили:
- path — директория для нашей сетевой папки samba
- read only — указали, что файлы в сетевой папке не только для чтения, а значит могут быть изменены
- browsable — сделали возможным просмотр сетевой папки в сетевом окружении обозревателя файлов в операционных системах
Сетевую папку мы настроили, теперь нужно перезагрузить Samba:
sudo service smbd restart
Разрешим работу Samba в фаерволе, если он у вас включен:
sudo ufw allow samba
Все, на этом настройка Samba закончена. Переходим к проверке работы.
Добавление пользователя сетевого диска
Для того, чтобы получить доступ к сетевой папке Samba, необходимо задать пароль пользователя шары. Он уже должен существовать в системе.
sudo smbpasswd -a shareuser
shareuser — системный пользователь, у которого будет доступ к сетевой папке. Если получите ошибку:
Failed to add entry for user shareuser.
Значит у вас нет системного пользователя. Добавьте его следующим образом:
sudo adduser shareuser
Подключение к сетевому диску
Теперь попробуем зайти на сетевой диск Samba. Для этого в обозревателе файлов перейдите по адресу \10.20.1.16 , где 10.20.1.16 это ip адрес сервера, на котором мы выполняли настройку samba.
Появится запрос на авторизацию. Укажите имя пользователя и пароль, которые мы задали этапом раньше. Вы окажетесь в сетевой директории. Попробуйте туда скопировать несколько файлов.
Если получите ошибку — Нет доступа к целевой папке, Вам необходимо разрешение на выполнение целевой операции, значит у пользователя shareuser нет unix прав на запись в директорию /mnt/share . Исправляем это:
chown -R shareuser:shareuser /mnt/share
Попробуйте скопировать еще раз. Теперь должно быть все в порядке.
Все, на этом настройка Samba закончена. Удачной работы и хорошего аптайма!
Видео
Источник: ubuntu-admin.ru
Установка и настройка Samba на Ubuntu 20.04: инструкция
Рассмотрим процесс установки ПО Samba на ОС Ubuntu 20.04. Для работы будем использовать облачные ресурсы. Также эта инструкция подойдет в том числе для установки Samba на Debian и Astra Linux . А начнем с краткого описания этого программного обеспечения.
Что такое Samba
Samba представляет собой программный пакет, разработанный для обеспечения совместимости и взаимодействия UNIX-подобных систем с Windows. ПО распространяется по свободной лицензии уже на протяжении 30 лет. Samba обеспечивает беспроблемную интеграцию серверов и ПК, работающих под управлением UNIX, в систему AD (Active Directory).
Это ПО может использоваться как контроллер и в качестве стандартной составляющей домена. Таким образом, у пользователей появляются возможности по гибкой настройке облачных файловых хранилищ. Samba обеспечивает широкий функционал по управлению правами доступа к файлам и базам данных с назначением определенных групп пользователей.
Создание нового сервера
Перейдите в панель управления и создайте новый сервер. При создании сервера можно выделить ему минимальные ресурсы для работы. Затем выберите образ ОС. В нашем случае это Ubuntu 20.04, но можно использовать, например, Debian или Astra Linux — в Timeweb Cloud их также можно автоматически установить при создании сервера, как и Ubuntu.
После создания подключитесь к новому серверу через SSH , и можно приступать к настройке.
Добавление пользователя
Здесь всё просто, введите команду:
sudo useradd -p new_server_pass new_server_user
Вместо new_server_pass и new_server_user можно использовать любой пароль и любое имя пользователя. Указанные здесь имя и пароль приведены просто для примера. Обратите внимание, что мы сразу ввели пароль, что стало возможным благодаря команде -p . Теперь используем команду update для обновления хранилища, и можно переходить к дополнительным настройкам.
Дополнительные настройки
Для подготовки к установке Linux Samba потребуется выполнить еще пару действий:
- Синхронизировать время. Это необходимо сделать для того, чтобы впоследствии корректно отображались даты. Это поможет в дальнейшем облегчить поиск данных, с поиском которых при некорректно отображаемом времени могли бы возникнуть проблемы.
- Настроить работу брандмауэра. Хотя в большинстве систем на основе Linux все порты открыты, некоторые нужные для работы Samba (чаще всего это 445 и порты 137-139) могут быть закрыты. Поэтому проверьте их доступность и при необходимости откройте их.
Для синхронизации времени используйте специальную утилиту chrony — добавленная в автозагрузку, она будет поддерживать правильные временные значения. Это добавление осуществляется с помощью простой команды:
sudo systemctl enable chrony
Теперь запускаем программу, используя команду start , и выставляем нужный часовой пояс, а корректность установки смотрим при помощи команды date . Вывод должен быть примерно таким:
Fri Oct 28 11:25:34 UTC 2022
Вот и всё, сервер готов к установке и настройке Samba на Ubuntu .
Установка Samba на Ubuntu 20.04
Для удобства разбили процесс установки на отдельные этапы.
Шаг 1. Подготовка
Для старта процесса установки используйте следующую команду:
sudo apt install samba -y
Теперь нужно запомнить системное имя сервиса. В большинстве случаев это smbd . Поэтому, если хотите вызвать сервис, то вводите именно это значение.
- И для начала настроим автозапуск, что делается командой enable smbd .
- Теперь запускаем, используя уже знакомую команду start .
- Затем проверяем статус системы при помощи status .
- Для остановки Samba используется stop .
- Чтобы перезапустить сервис, введите команду restart .
- Если хотите, чтобы Samba больше не запускалась автоматически, используйте инструкцию disable .
- Команда reload нужна для обновления конфигурации.
Следующая команда позволит принудительно открыть порт 445, а также 137-139 (помните про настройки брандмауэра?). Чтобы разрешить их в брандмауэре ufw , используйте:
sudo ufw allow Samba
Шаг 2. Настройка анонимного доступа
Допустим, у нас есть какой-то удаленный сервер, который находится за пределами нашего облака. Правила сетевой безопасности требуют ни в коем случае не открывать прямой доступ к нему через IP. Сделать это можно только через VPN-туннель, который к тому же уже настроен.
Обычно серверы, к которым предоставлен VPN-доступ, имеют адрес 10.8.0.1, и именно с этим адресом в дальнейшем нам и предстоит работать.
Чтобы расшарить данные и предоставить к ним анонимный доступ, сначала откройте конфигурационный файл. Он находится здесь: /etc/samba/smb.conf . Рекомендуем сделать бэкап чистого файла — это поможет затем быстро восстановить исходное состояние программы без необходимости ее переустановки. Теперь удалите все комментарии, оставив только код, и введите команду testparm , чтобы убедиться, что программа работает нормально. В настройках общей папки введите следующие параметры:
[share]
comment = шара
path = /data/public_share
public = yes
writable = yes
read only = no
guest ok = yes
Также следите за тем, чтобы в следующих четырех полях ( mask и mode ) совпадали числовые значения (например, 0777). Что касается конкретных строк, то здесь:
- [share] — имя расшаренной папки, которое будет видно всем подключившимся к вашему серверу;
- comment — комментарий, который может быть каким угодно;
- path — путь к папке для хранения данных;
- public — дает разрешение на общий доступ: если не хотите, чтобы пользователи могли просматривать содержимое папки, установите значение no ;
- writable — определяет, можно ли записывать данные в папке;
- read only — указывает, что папка только для чтения: чтобы пользователи могли создавать новые, поставьте значение no ;
- guest ok — определяет, могут ли гости получать доступ к папке.
Таким образом, название папки и путь могут отличаться в зависимости от того, какие значения вы указали для общей папки. Комментарий тоже может быть любым, а для нижних четырех параметров значения устанавливаются в виде yes или no . Теперь перезапускаем программу и на всякий случай проверяем, можно ли подключиться к серверу из-под Windows.
Шаг 3. Настройка доступа по учетным данным пользователя
Для создания доступа по логину и паролю нужно в первую очередь создать новую директорию и настроить права. В файле конфигурации установите все параметры на no (см. выше), кроме writable : в этой строке должно стоять значение yes , то есть запись в папке должна быть включена.
Командой mkdir создаем новую директорию, далее с помощью useradd someone (вместо someone может стоять любое имя пользователя) создаем пользователя и задаем ему пароль командой passwd . Например, так:
passwd something
Теперь командой sudo smbpasswd -a someone добавляем нового пользователя и пытаемся выполнить вход: если всё настроено корректно, то нам будет открыт доступ к папке.
Шаг 4. Настройка группового доступа
Это понадобится для создания ограниченного доступа отдельных групп пользователей. В smb.conf после строки guest ok дополнительно пропишите следующие строки (все имена пользователей были сгенерированы просто для примера):
valid users = admin, vlasova_ulyana, usova_elena, sokolova_eva, spiridonova_kseniya
write list = admin, spiridonova_kseniya
В строке valid users указываются пользователи, которым предоставлен доступ к директории. А в строке write list указаны те, кто может изменять данные в папке. Кроме того, после строки force directory mode добавьте еще одну строку со следующим значением:
inherit owner = yes
Она необходима для того, чтобы можно было включать наследование создаваемых объектов. Теперь записываем настройки и перезапускаем сервис, после чего новые настройки должны вступить в силу.
Шаг 5. Подключение к ресурсу из-под Windows и Linux
- Для быстрого подключения к Самбе из-под Windows нажмите Ctrl+E и введите путь. Только учтите, что нужно использовать \ для указания пути к ресурсу в сети. А чтобы не соединяться с сервером постоянно, можно выбрать опцию подключения ресурса как диска, если это позволяет ваша политика безопасности. В новом окне задайте букву для наименования диска и заполните необходимые данные.
- Для подключения к Самбе из-под Linux используются утилиты cifs , которые устанавливаются с помощью команды sudo apt install cifs-utils -y . Далее ресурс монтируется и выполняется подключение. Это делается с помощью mount.cifs //10.8.0.1/our_share /share (путь и название ресурса могут быть любыми). Можно выполнять монтирование и автоматическим способом, для чего используется файл конфигурации fstab со своими настройками.
Шаг 6. Настройка сетевой корзины
Эта операция понадобится, чтобы избежать случайного безвозвратного удаления файлов. Для этого создаем такую директорию:
[Recycle]
comment = Корзина для временного хранения файлов
path = /directory/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, ~$*
recycle:exclude_dir = /tmp
Теперь рассмотрим построчно, что означают эти параметры (кроме первых шести строк, с ними понятно):
- vfs objects = recycle — указание на использование соответствующей подсистемы;
- repository — путь для хранения удаленных данных;
- keeptree — сохранять ли дерево каталогов после удаления;
- touch — нужно ли изменять временные метки файлов при их помещении в корзину;
- versions — нужно ли указывать номер версии, если удаляются файлы с одинаковыми именами;
- maxsize — максимальный размер помещаемого в корзину файла. Значение 0 отключает лимиты;
- exclude — какие типы файлов нужно исключить;
- exclude_dir — какие каталоги нужно исключить.
Заключение
На этом всё, теперь вы знаете, что нужно делать перед установкой Самбы, как ее ставить на облачный сервер и настраивать под собственные нужды.
Источник: timeweb.cloud
Установка Samba в Debian 11
Samba — это программа которая представляет собой файловый сервер работающий по протоколу SMB/CIFS и позволяет предоставлять доступ к общим ресурсам в локальной сети для систем на базе Linux или Windows. Начиная с четвёртой версии, Samba может выступать в роли контроллера домена Active Directory и способна обслуживать все поддерживаемые версии Windows, в том числе и Windows 10.
Samba работает на всех популярных ОС — Windows, MacOS и Linux, полностью бесплатна и с открытым исходным кодом. В данной статье будет рассмотрена установка Samba в Debian 11, его настройка, а также подключение из операционной системы Windows 10.
Установка сервера Samba в Debian 11
Перед установкой Samba необходимо обновить список доступных пакетов в системе. Сделать это можно при помощи команды:
sudo apt update
Далее необходимо установить программу при помощи команды:
sudo apt -y install samba
На этом этапе установка Samba Debian 11 завершена.
Настройка Samba в Debian 11
Перед правкой конфигурационного файла Samba — smb.conf необходимо сделать его резервную копию чтобы в случае проблем можно было использовать конфигурационный файл по умолчанию. Для этого необходимо выполнить команду:
sudo cp /etc/samba/smb.conf
Вместо .backup можно написать любое другое слово. Главное, чтобы вам было понятно, что данный файл будет использоваться при восстановлении. Чтобы использовать оригинальный файл для «отката» при выявлении проблем необходимо вернуть ему оригинальное имя — smb.conf а второй файл удалить.
Настройка общих параметров
В конфигурационном файле Samba присутствует блок с именем global, который начинается со строки [global]. Этот блок отвечает за глобальные настройки Samba (то есть настройки, которые в целом влияют на сервер Samba). На скриншотах ниже показаны параметры глобального блока:
Символ ; — точки с запятой установленный перед параметром означает что он закомментирован и не используется. Для использования необходимо удалить символ. Разберем основные параметры.
workgroup = WORKGROUP
Определяет рабочую группу, в которой сервер будет отображаться при запросе клиентов. Группа по умолчанию – WORKGROUP (для Windows), можно изменить её на другое имя при условии, что данная группа уже присутствует на необходимом компьютере.
interfaces = 127.0.0.0/8 eth0
Задаёт IP адрес и имя интерфейса, на котором будет работать Samba.
bind interfaces only = yes
Позволяет ограничивать интерфейсы на машине, обслуживающие запросы Samba. Работает вместе с параметром interfaces. Если выставлен yes то Samba будет принимать трафик только с интерфейса заданного в параметре interfaces.
log file = /var/log/samba/log.%m
Задаёт путь до лог файла, в который будут записываться все события Samba.
max log size = 1000
Задаёт максимальный размер лог файла в мегабайтах, указанного в параметре log file.
panic action = /usr/share/samba/panic-action %d
Опция предназначена для разработчиков. Позволяет запустить системную команду, когда Samba завершается с ошибками. Используется, в основном для того, чтобы привлечь внимание к возникшей проблеме.
server role = standalone server
Этот параметр определяет основной режим работы сервера Samba. По умолчанию выставлен как автономный сервер (т.е. сервер не относящийся к какому-либо контроллеру домена и не входящему в какой-либо домен).
obey pam restrictions = yes
Если Samba была сконфигурирована с поддержкой PAM данный параметр сообщает о том следует ли Samba использовать учетные записи модуля PAM. Поведение по умолчанию подразумевает использование PAM только для нешифрованной аутентификации и игнорирует директивы учетных записей и управление сессиями.
unix password sync = yes
Параметр позволяющий использовать встроенную утилиту smbpasswd. Если опция включена (yes), то Samba будет изменять пароли с помощью smbpasswd.
Настройка общей шары
Для предоставления доступа к общим ресурсам в Samba есть 2 способа разграничения прав доступа — предоставление анонимного доступа (доступа не требующего прохождения аутентификации, т.е. всем пользователям) и предоставление доступа только конкретным пользователям. Рассмотрим оба способа.
Для начала необходимо создать директорию, к которой необходимо предоставить доступ:
sudo mkdir -p /anonymous/files
Далее необходимо задать права и владельца на ранее созданную директорию для предоставления доступа. Сначала задаём права при помощи команды:
sudo chmod -R 0755 /anonymous/files
Потом задаём владельца и группу при помощи команды:
sudo chown -R nobody:nogroup /anonymous/files
После этого в файле конфигурации smb.conf необходимо вписать или привести к следующему виду блоки:
sudo nano /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = debian11
security = user
map to guest = bad user
dns proxy = no
[Anonymous]
path = /anonymous/files
browsable =yes
writable = yes
guest ok = yes
read only = no
Сохраните изменения и закройте файл. Далее необходимо проверить конфигурационный файл на наличие ошибок при помощи команды:
Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок.
Настройка защищённой шары
Чтобы предоставить доступа к файлам и папкам определенным пользователям необходимо также создать директорию:
sudo mkdir -p /files/samba/security
Далее необходимо создать группу, пользователей и добавить туда ранее созданных пользователей. Для этого необходимо выполнить следующие команды:
sudo groupadd security_users
sudo useradd sec1 -G security_users
Далее необходимо задать права и владельца на ранее созданную директорию при помощи команд:
sudo chown -R root:security_users /files/samba/security/
Теперь необходимо добавить ранее созданного пользователя в базу данных Samba и задать ему пароль при помощи встроенной утилиты Samba под названием smbpasswd:
sudo smbpasswd -a sec1
Далее необходимо добавить следующие строки в конфигурационный файл smb.conf:
sudo nano /etc/samba/smb.conf
Также не забывайте проверять конфигурационный файл на наличие ошибок после внесения любых изменений при помощи команды:
Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок. Для выхода из режима теста нажмите на клавишу Enter. Теперь настройка samba debian 11 завершена.
Подключение к серверу Samba
После проверки файла конфигурации на ошибки необходимо запустить сервисы Samba и включить их в автозагрузку при помощи следующих команд:
sudo systemctl start smbd.service
sudo systemctl enable smbd.service
sudo systemctl start nmbd.service
sudo systemctl enable nmbd.service
Для подключения к ресурсу без логина/пароля (анонимный доступ) в ОС Windows необходимо открыть программу «Выполнить» путем нажатия на сочетание клавиш Win+R. В открывшейся строке введите следующую команду и нажмите на ОК или клавишу Enter:
Где 192.168.189.147 — IP адрес компьютера, на котором запущена Samba:
В открывшемся окне найдите директорию, которая была создана для анонимного доступа. В качестве примера была задана директория Anonymous:
После перехода отобразится содержимое данной директории:
Для подключения при помощи логина и пароля необходимо точно также подключиться к серверу Samba как описано выше и выбрать ранее созданную директорию. В качестве примера была задана директория secured. Перейдите в необходимую директорию и отобразится диалогов окно с вводом логина и пароля:
После ввода логина и пароля пользователя отобразится ранее созданная директория и её содержимое:
Если при подключении из Windows система «не видит» адрес Samba сервера, то необходимо установить программу Avahi-daemon — систему, обеспечивающую обнаружение сервисов в локальной сети. Более подробное о данной системе можно прочитать в статье Ubuntu не видит сеть в Windows
Выводы
В данной статье вы узнали как выполняется установка и настройка Samba Debian 11. Samba обладает богатым функционалом который позволяет реализовать сетевой доступ до разных ресурсов — сетевых директорий, компьютеров, принтеров. Настройка реализуется через единственный конфигурационный файл что облегчает настойку программы. Если у вас остались вопросы задавайте их в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник: losst.pro