Linux ubuntu server общая папка

Настройка общей папки Samba на Ubuntu 22.04

Очередная краткая шпаргалка. На этот раз о том, как выполняется настройка общей папки Samba на Ubuntu 22.04. В тестовых стендах уже пару раз возникала необходимость настройки передачи файлов между Windows и Linux системами. Оказалось, что через общую папку на smb вполне удобный вариант. Да, можно использовать, например, WinSCP. Но тут уже дело вкуса и предпочтений.

В качестве Samba сервера я буду использовать Ubuntu Server 22.04.

Предварительная подготовка

Сначала я установлю пакет sabma:

sudo apt -y update && sudo apt -y install samba

Настрою автоматический запуск сервера smb:

sudo systemctl enable smbd

Теперь нужно запустить сервер smb

sudo systemctl start smbd

Заключительный шаг по подготовке – проверка статуса сервиса smb:

sudo systemctl status smbd
roman@test1:~$ sudo systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-05-30 16:14:15 UTC; 2min 24s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 2842 (smbd) Status: "smbd: ready to serve connections. " Tasks: 4 (limit: 9362) Memory: 10.4M CPU: 136ms CGroup: /system.slice/smbd.service ├─2842 /usr/sbin/smbd --foreground --no-process-group ├─2844 /usr/sbin/smbd --foreground --no-process-group ├─2845 /usr/sbin/smbd --foreground --no-process-group └─2846 /usr/lib/x86_64-linux-gnu/samba/samba-bgqd --ready-signal-fd=45 --parent-watch-fd=11 --de> May 30 16:14:15 test1 systemd[1]: Starting Samba SMB Daemon. May 30 16:14:15 test1 update-apparmor-samba-profile[2836]: grep: /etc/apparmor.d/samba/smbd-shares: No such f> May 30 16:14:15 test1 update-apparmor-samba-profile[2839]: diff: /etc/apparmor.d/samba/smbd-shares: No such f> May 30 16:14:15 test1 systemd[1]: Started Samba SMB Daemon.

Сервис должен быть запущен.

Настройка общей папки Samba

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

sudo mkdir -p /data/guestshare sudo mkdir -p /data/pwd sudo mkdir -p /data/restricted

Настройка анонимного доступа

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

Читайте также:  Linux lite or lubuntu

Сначала зададим соответствующие разрешения на уровне директории:

sudo chmod 777 /data/guestshare

Теперь скорректируем файл конфигурации для общих ресурсов smb:

sudo nano /etc/samba/smb.conf

Теперь я добавлю следующий блок с конфигураций для анонимного доступа:

# Guest access [guestshare] path = /data/guestshare writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777 

В таблице ниже я кратко опишу основные параметры.

Параметр Назначение
[guestshare] Имя smb ресурса
path Физическое расположение директории на сервере
writable Запись в директорию разрешена, если установлено значение yes
guest ok Анонимный доступ разрешен, если установлено значение yes
guest only Если установлен параметр yes, то разрешен только анонимный доступ к ресурсу
create mode Все новые файлы будут создаваться с указанными разрешениями (777 в моем случае)
directory mode Все новые директории будут создаваться с указанными разрешениями (777 в моем случае)

Настройка доступа по логину и паролю

Теперь немного расширим задачу. Доступ к smb ресурсу должны получать только аутентифицированные пользователи. Отмечу, что доступ может получить любой аутентифицированный пользователь. Аутентификация производится сервером smb через локальную базу учетных записей на сервере.

Установлю нужные разрешения для директории:

Скорректируем файл конфигурации для общих ресурсов smb:

sudo nano /etc/samba/smb.conf

Теперь я добавлю следующий блок с конфигураций для анонимного доступа:

# Password access [pwd] path = /data/pwd writable = yes guest ok = no public = no create mode = 0777 directory mode = 0777

В таблице ниже я кратко опишу основные параметры.

Параметр Назначение
[pwd] Имя smb ресурса
path Физическое расположение директории на сервере
writable Запись в директорию разрешена, если установлено значение yes
guest ok Анонимный доступ запрещен, если установлено значение no
public Если установлено значение “no”, то публичный доступ к ресурсу запрещен
create mode Все новые файлы будут создаваться с указанными разрешениями (777 в моем случае)
directory mode Все новые директории будут создаваться с указанными разрешениями (777 в моем случае)

Теперь нужно создать пользователя и установить пароль для его учетной записи:

sudo useradd user1 && sudo passwd user1

Также нужно задать пароль для пользователя user1 для доступа по smb:

Настройка ограниченного доступа

Последний распространеный вариант – настройка ограниченного доступа. Под ограниченным доступом я подразумеваю доступ только для какой-то конкретной группы или пользователя. Я настрою ограничение для пользователя.

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

sudo useradd -M -d /home/user6 -s /usr/sbin/nologin user6 && sudo passwd user6 sudo mkdir /home/user6 sudo chown user6:user6 /home/user6 sudo chmod 2770 /home/user6

Также нужно задать пароль для пользователя user6 для доступа по smb:

sudo smbpasswd -a user6 sudo smbpasswd -e user6

Изменю владельца для директории:

sudo chown user6:user6 /data/restricted/

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

sudo chmod 770 /data/restricted/

Скорректируем файл конфигурации для общих ресурсов smb:

sudo nano /etc/samba/smb.conf

Теперь я добавлю следующий блок с конфигураций для анонимного доступа:

# Restricted access [restricted] path = /data/restricted read only = no browseable = yes create mode = 0660 directory mode = 2770 valid users = user6

В таблице ниже я кратко опишу основные параметры.

Читайте также:  Создать таблица разделов mbr linux
Параметр Назначение
[restricted] Имя smb ресурса
path Физическое расположение директории на сервере
browseable Если установлен параметр “yes”, то ресурс будет отображаться при запросе списка ресурсов на сервере. Если установлен параметр “no”, то ресурс будет доступен только по прямому пути. Например, \\10.10.10.33\restricted
read only Определяет, является ли ресурс доступным только для чтения
create mode Все новые файлы будут создаваться с указанными разрешениями (777 в моем случае)
directory mode Все новые директории будут создаваться с указанными разрешениями (777 в моем случае)
valid users Перечень пользователей, которым разрешен доступ к ресурсу. В моем случае – это пользователь user6. Список пользователей разделяется пробелом

Дополнительно необходимо перезапустить службы:

sudo systemctl restart smbd nmbd

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

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

Проверка анонимного доступа

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

Также у вас должна быть возможность создавать директории и файлы:

Проверка доступа по логину и паролю

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

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

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

Проверка ограниченного доступа

Это последний вариант проверки. Наш сценарий таков, что только пользователь user6 должен получить доступ к ресурсу. Всем остальынм пользователя доступ запрещен.

Читайте также:  Astra linux usb принтер

Попробую получить доступ к ресурсу:

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

В доступе отказано. Ожидаемо.

Теперь я укажу учетные данные пользователя user6.

Вот теперь я могу успешно получить доступ к ресурсу и создавать различные файлы и директории.

Источник

Общая папка в Ubuntu: зачем нужна и как создать

Обложка: Общая папка в Ubuntu: зачем нужна и как создать

Основная цель такой папки — возможность обмена файлами в локальной сети между Linux и Windows-машинами. Специфической привязки к 1С-направлению здесь нет, но такая папка поможет разработчикам хранить файлы конфигураций 1С, а также выгрузки документации по разработке и отчеты для обеспечения оперативного доступа при отсутствии ответственного сотрудника на месте.

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

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

Устанавливаем сервер Samba

В качестве предпочтительного способа мы выбрали сервер Samba — есть и другие способы, но они требуют наличие Интернета. Samba — проверенное годами решение для ситуаций, когда файлы нужно хранить на сервере Linux.

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

Установка

apt install samba samba-common

Для тестирования настроек устанавливаем клиент Samba.

apt install samba-common-bin

Настройки

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

cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

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

bash -c ‘grep -v -E «^#|^;» /etc/samba/smb.conf.backup | grep . > /etc/samba/smb.conf’

Создаем отдельного системного пользователя

useradd -m -c «Name_User» -s /bin/bash usersamba

Создаем общую папку Samba, доступную для всех

Настраиваем права доступа к папке:

chown -R nobody:nogroup /home/usersamba/smb/

chmod ug+rwx /home/usersamba/smb/

chmod -R 0775 /home/usersamba/smb/

chown root:»пользователи домена» /home/usersamba/smb/

Редактируем настройки

sudo gedit /etc/samba/smb.conf

Добавляем в конец файла /etc/samba/smb.conf следующие строки: usersamba заменяем на имя пользователя компьютера с Samba.

Как стать full stack разработчиком

Папка будет открыта для чтения и записи.

Перезапуск Samba

systemctl restart smbd.service

Проверка правильности конфигурации Samba

Защищенная папка Samba, доступная только по паролю

Для того, чтобы защитить открытую папку паролем, достаточно изменить параметр guest ok на no.

Чтобы скрыть в обзоре сети папку, можно изменить параметр browsable на no.

Источник

Оцените статью
Adblock
detector