Ubuntu server общая папка для windows

Пошаговая инструкция по установке файлового сервера samba на Linux Ubuntu. А также настройка сетевых папок с разными политиками безопасности.

Обновлено Обновлено: 30.01.2022
Опубликовано Опубликовано: 13.03.2021

Используемые термины: Samba, Ubuntu, SMB.

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

Подготовка сервера к работе
    Настройка времени
    Брандмауэр
Установка и запуск сервиса Samba
Создание первой шары с гостевым доступом
Настройка доступа к папке по логину и паролю
Доступ к папке для пользователей и групп
Помещение удаленных файлов в сетевую корзину
Настройка клиентов для подключения к шаре
    Windows
    Linux
Некоторые полезные опции Samba
    hosts allow
    hosts deny
    interfaces
    force user/group
    include
Читайте также

Подготовка сервера

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

netfilter-persistent save

Установка и запуск Samba

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

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился: 

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

Пример подключения к SMB шаре с компьютера на Windows

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

Если мы настроили сервер правильно, система откроет пустую папку. На данном этапе проверка закончена и мы можем переходить к созданию первой шары.

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

vi /etc/samba/smb.conf

И добавляем настройку для общей папки:

[Общая папка]
    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:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Папка сотрудников]
    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 — не разрешаем гостевое подключение.

Создаем каталог для новой папки:

mkdir /data/staff

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

useradd staff1

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

passwd staff1

Теперь создадим пользователя в samba:

smbpasswd -a staff1

Перезапускаем samba:

systemctl restart smbd

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

Если мы авторизованы на компьютере, с которого пытаемся подключиться к серверу, под той же учетной записью, что создали для доступа к папке, samba может и не потребовать аутентификации.

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

vi /etc/samba/smb.conf

Добавляем настройку для новой папки:

[Приватная папка]
    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 оставить как в примерах выше.

Создаем каталог для новой папки:

mkdir /data/private

Задаем права на созданный каталог:

chmod 777 /data/private

Для применения настроек перезапускаем samba:

systemctl restart smbd

Создать группу пользователей можно командой:

groupadd privateusers

Добавить ранее созданного пользователя в эту группу:

usermod -a -G privateusers staff1

Подробнее о работе с учетными записями в Linux.

Проверяем возможность работы с новым каталогом.

Сетевая корзина

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

Открываем конфигурационный файл:

vi /etc/samba/smb.conf

Создаем шару:

[Recycle]
    comment = Snap Directories
    path = /data/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 — использовать подсистему recycle.
  • recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку.
  • recycle:keeptree — удалять объекты с сохранение дерева каталогов.
  • recycle:touch — изменить ли дату изменения файла при его перемещении в корзину.
  • recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии.
  • recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера.
  • recycle:exclude — исключить файлы.
  • recycle:exclude_dir — исключить каталог.

Создаем каталог и задаем права:

mkdir /data/recycle

chmod 777 /data/recycle

Перезапускаем самбу:

systemctl restart smbd

Пробуем зайти в сетевой каталог Recycle и создать, а после удалить файл. Он должен оказаться к скрытой папке .recycle.

Для автоматической чистки сетевой корзины можно создать скрипт:

mkdir /scripts

vi /scripts/cleanrecycle.sh

#!/bin/bash

recyclePath=»/data/recycle/.recycle»
maxStoreDays=»30″

/usr/bin/find $recyclePath -name «*» -ctime +$maxStoreDays -exec rm {} ;

* в данном скрипте мы ищем все файлы в каталоге /data/recycle/.recycle, которые старше 30 дней и удаляем их.

Разрешаем запуск скрипта:

chmod +x /scripts/cleanrecycle.sh

Создаем задание в планировщике:

crontab -e

0 5 * * * /scripts/cleanrecycle.sh

* в данном примере мы будем запускать скрипт по очистке сетевой корзины каждый день в 05:00.

Подключение к шаре

Теперь разберем примеры подключения к нашим шарам из разных систем.

Windows

Для разового подключения можно использовать проводник, прописав в нем адрес сервера через косые линии:

Пример подключения к SMB шаре с компьютера на Windows

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

Подключение сетевого диска в Windows

В открывшемся окне прописываем путь до сетевой папки и выбираем имя диска:

Прописываем путь до сетевой папки, на которую хотим сделать сетевой диск

Сетевой диск настроен.

Но мы может сделать те же действия из командной строки:

net use x: \samba.dmosk.localAD ACL /persistent:yes

* где x: — имя сетевого диска; \samba.dmosk.localAD ACL — путь до сетевого каталога; persistent:yes — указывает на то, что нужно восстанавливать данный диск каждый раз при входе в систему.

Linux

Монтирование

В Linux мы можем монтировать удаленный каталог с помощью команды mount, например:

mount -t cifs «//192.168.1.15/ad» /mnt -o user=dmosk

* где 192.168.1.15 — IP-адрес сервера; mnt — каталог, куда монтируем сетевую шару; dmosk — пользователь, под которым выполняем подключение к сетевому каталогу.
** в систему должен быть установлен пакет cifs-utils.

Подробнее, процесс монтирования описан в инструкции Как в Linux монтировать шару CIFS.

SMB Browser

Также мы можем увидеть содержимое удаленных папок на samba при помощи клиента smb. Для начала установим данного клиента:

а) на Red Hat / CentOS / Fedora:

yum install samba-client

б) на Debian / Ubuntu / Mint:

apt-get install samba-client

После вводим команду:

smbclient -L 192.168.1.15 -U staff@dmosk.local

* где 192.168.1.15 — сервер samba, к которому мы пытаемся подключиться; staff@dmosk.local — учетная запись, под которой выполняется подключение.

… мы получим список каталогов, которые расшарены на сервере.

Также мы можем подключиться к конкретной папке, например:

smbclient \\192.168.1.15\ad -U staff@dmosk.local

Мы подключимся клиентом samba — можно выполнить запрос на показ содержимого:

smb: > ls

Или полный список возможных команд:

smb: > help

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

Параметр задает список разрешенных хостов или сетей, с которых можно подключаться к серверу. Если его прописать в секцию с настройкой шары, то он будет действовать только для нее, если прописать в [global], то для всех общих папок.

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

5. Include

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

include = /etc/samba/conf.d/shares.conf

* данная опция будет дополнительно подключать конфигурацию из файла /etc/samba/conf.d/shares.conf (прописывается полный путь).

Читайте также

Возможно, эти инструкции будут также Вам полезны:

1. Установка и настройка samba в Linux CentOS.

2. Как настроить автоматическое монтирование дисков в Linux.

3. Настройка дисковых квот в Linux.

У вас дома есть несколько устройств? Нужно ли использовать флэш-диск или SD-карту для переноса данных с Ubuntu на другой компьютер? Находите ли вы это раздражающим? Мы знаем, что это так. Поэтому мы не хотим, чтобы вы тратили свое драгоценное время, в то время как вы можете передавать свои файлы, документы и другие большие вещи быстро и легко, по локальной сети. Это одноразовая настройка, а затем с помощью нескольких щелчков мыши вы сможете обмениваться файлами между Ubuntu и Windows или любой другой системой Linux. И не волнуйтесь, это легко и займет всего немного времени.

Также стоит добавить, что это руководство должно быть полезно для любой версии ОС Linux.

Если вы используете Ubuntu, есть два способа поделиться своими локальными файлами по локальной сети, чтобы получить доступ к ним с Windows или других компьютеров с Linux.

  1. Для всех, кто имеет доступ к локальной сети, без пароля. Не совсем безопасный способ, но некоторым он действительно нужен, например, если необходимо очень быстро открыть доступ и времени на настройку ограниченного доступа нет.
  2. С паролем, защищающим папки для ограниченного доступа. Этот способ наиболее рекомендуем для всех, кто предпочитает конфиденциальность при передаче данных в локальной сети, поскольку доступ будет открыт только для ограниченного круга людей.

Мы рассмотрим оба метода в этой статье и дадим вам возможность решить, какой из них вы предпочитаете использовать.

Метод 1. Общий доступ к папкам в локальной сети без пароля

Вам придется выполнить некоторые настройки как в Windows, так и в Ubuntu.

Разрешение на совместное использование в Убунту

Чтобы предоставить общий доступ к папке в локальной сети в Ubuntu, щелкните правой кнопкой мыши нужную папку и выберите Локальный сетевой ресурс:

Share folder over LAN in ubuntu 14.04

Не видите опцию локального сетевого ресурса?

Когда вы нажимаете на Локальный сетевой ресурс, вы увидите опцию общего доступа к папке. Просто отметьте опцию Общий доступ к этой папке:

Share folders in Ubuntu and Windows

Поиск и устранение неисправностей: Если у вас появится сообщение о том, что служба Sharing service не устанавливается, как показано на скриншоте ниже, просто нажмите кнопку Установить службу и следуйте инструкциям.

Sharing service in Ubuntu

Когда вы отметите опцию Общий доступ к этой папке, вы увидите опцию Создать общий доступ, доступную для вас. Вы также можете разрешить другим пользователям редактировать файлы в общей папке. Также можно отметить опцию гостевого доступа.

sharing the folders in Ubuntu

Вы увидите, что значок папки был изменен, чтобы показать, что она была совместно использована. Чтобы остановить общий доступ к папке, просто снимите флажок Общий доступ к этой папке.

Теперь нужно получить доступ к общей папке на машине Windows.

Шаг 2: Включение совместного доступа в Windows

В Windows щелкните правой кнопкой мыши на «Этот Компьютер» или «Мой компьютер» и выберите «Добавить новое соединение».

Adding New Connection

Добавление нового соединения

Нажмите на кнопку «Далее».

Adding New Connection

Добавление нового соединения

Теперь пришло время ввести адрес сервера и имя папки, к которой мы предоставили общий доступ. Пожалуйста, введите в следующем формате.

Вы можете найти адрес вашего сервера, т.е. IP-адрес машины с Linux, введя команду ip a.

В моем случае IP-адрес машины с Linux равен 192.168.0.102, а папка, к которой я предоставил общий доступ, является общей.

Ip Address

Ip-адрес

Теперь добавьте местоположение следующим образом:

Entering Server Address

Ввод адреса сервера

Теперь вы увидите этот экран, просто щелкните дальше.

Adding New Connection

Добавление нового соединения

Теперь вы можете получить доступ к общей папке в разделе «Этот ПК» или «Мой компьютер» в разделе «Сетевое расположение».

New Shared Folder

Новая общая папка

Это был простой способ. Он обеспечивает доступ к этим файлам любому человеку в вашей локальной сети.

По-хорошему вы должны предусмотреть это. Устройства в домашней сети должны быть общеизвестными. Но так может быть не всегда. Что, если вы хотите, чтобы к ним имели доступ только определенные люди?

Вот здесь и появляется Samba-сервер. Рассмотрим его во второй части урока.

2. Общий доступ к папкам в локальной сети в Ubuntu с помощью парольной защиты

Для этого нам необходимо настроить сервер Samba. На самом деле, мы использовали Samba в предыдущей части этого руководства. Мы просто не делали на этом акцент. Прежде чем мы перейдем к рассмотрению вопроса о том, как настроить Samba-сервер для совместного использования локальной сети в Ubuntu, давайте сначала посмотрим, чем на самом деле является Samba.

Что такое Самба?

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

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколуSMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Инсталляция сервера Samba на Ubuntu

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

sudo apt-get update && sudo apt-get upgrade

Теперь установите Samba server и несколько других необходимых вещей с помощью следующей команды:

sudo apt-get install samba samba-common system-config-samba python-glade2

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

Настройка сервера Samba в Ubuntu

Откройте инструмент Samba Configuration из тире:

Setup Samba in Linux/Ubuntu

Перейдите в Параметры -> Настройки сервера. Хотя настройки по умолчанию хороши и могут быть такими же, как вам нужно. Но в некоторых случаях вам может понадобиться внести изменения.

В Параметрах сервера у вас есть две вкладки, ‘Basic’ и ‘Security’. В закладке Basic у вас есть следующие опции:

  • Рабочая группа — это название рабочей группы компьютера, к которому вы хотите подключиться. Например, если вы хотите подключиться к компьютеру с Windows, то введете имя рабочей группы компьютера с Windows, а в Windows у вас уже есть то же имя рабочей группы, которое установлено по умолчанию в Настройках сервера Samba. Но если у вас другое имя рабочей группы в Windows, то вы введете его в это поле. (В Windows 7, чтобы получить имя рабочей группы, щелкните правой кнопкой мыши значок Этот компьютер и перейдите в Свойства, там вы увидите имя рабочей группы Windows).
  • Описание — Это название вашего компьютера, как его видят другие. Не используйте пробелы или неинтернет-доброжелательные символы.

setting up samba server

Разрешение ‘Гости’ не рекомендуется, поэтому нет причин изменять настройки безопасности. Оставьте все как есть.

Samba Security security settings

Готово! Вы установили Samba-сервер. Мы недалеко от того, чтобы поделиться нашей первой папкой в сети.

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

Теперь мы создадим системного пользователя для совместного использования файлов в сети. Это очень просто.

  • Перейдите в раздел «Системные настройки».
  • В разделе Системные настройки нажмите Учетные записи пользователей.
  • Нажмите кнопку разблокировки, чтобы включить значок +.
  • Нажмите значок + (плюс), чтобы создать нового пользователя системы.

create system user account in Ubuntu/Linux

Теперь, как вы видите на изображении выше, вы можете ввести «Полное имя». При вводе ‘Полное имя’ Имя пользователя будет автоматически воспринято как ‘Полное имя’. Потому что мы создаем этого пользователя для совместного использования файлов, поэтому мы назначим тип аккаунта ‘Стандартный’.

Выполнили шаги, описанные выше? Идем дальше. Нажмите «Добавить».

Вы создали пользователя системы. Пользователь еще не активирован, поэтому мы активируем его, установив пароль для этой учетной записи. Убедитесь, что панель учетных записей пользователей разблокирована. Нажмите Аккаунт отключен и введите новый пароль, затем подтвердите пароль и нажмите Изменить.

activate system user in Ubuntu/Linux

Отлично! Мы установили и настроили Samba, мы создали системного пользователя для обмена файлами в сети с этой учетной записи, и мы активировали нашу только что созданную учетную запись. Теперь мы перейдем на Samba для последнего шага настройки общего доступа, затем мы предоставим общий доступ к папке.

Добавление нового пользователя Samba

Откройте Samba и нажмите Samba Users в разделе Preferences (Предпочтения). Заполните простую форму. Вот пара подробностей о полях формы:

Unix Username — В данном случае я выбираю пользователя, которого только что создал.

Имя пользователя Windows — Вы вводите это имя пользователя при доступе из компьютера на Windows

Samba Password — Вы введете этот пароль, когда захотите иметь доступ из компьютера на Windows.

samba user setting

После того, как вы закончите, нажмите OK. Теперь сделайте глубокий вдох. Вы успешно создали сеть с помощью Samba. Теперь перезапустите сеть или службы Samba и будьте готовы к обмену файлами с другими компьютерами.

sudo restart smbd && sudo restart nmbd

Общий доступ к папкам или файлам по сети

Обмениваться файлами с Samba очень просто с помощью графического интерфейса пользователя. Нажмите на иконку «Плюс» в Samba и вы получите такой диалог:

share files and folders over network with samba

Заполните поля. В ‘Directory’ выберите папку, к которой вы хотите предоставить общий доступ. Здесь вы найдете подробную информацию о полях, которые увидите:

  • Share name — это имя папки, которую увидит другой пользователь.
  • Description простое описание содержимого, к которому вы предоставляете общий доступ в сети.
  • Writable. Общие папки по умолчанию ‘только для чтения’. Вы можете установить их в режим «writable», если хотите, чтобы другие пользователи в сети изменили их.
  • Visible. Как следует из названия, когда вы нажимаете Visible, общая папка будет видна людям в сети.

Теперь вы можете установить разрешения для папки, к которой вы предоставляете общий доступ. Для этого перейдите на вкладку «Доступ» и отметьте пользователей, которым вы хотите предоставить общий доступ к папке. Когда вы выберете Разрешить доступ всем, папка будет доступна всем в сети.

setting up permissions for sharing folder on network

Наконец, нажмите OK для завершения обмена. Теперь папка открыта всем желающим. Вы завершили предоставление общего доступа к папке в сети. И все? Да! А как удалить папки из сети?

Удаление общих папок

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

remove shared folder from network

Готово! Мы также можем обмениваться файлами по сети с помощью терминала, но это настраивается не так просто, как это было в графическом интерфейсе. Если вы зададите вопросы по доступу к файлам из командной строки, то я напишу учебное пособие о том, как обмениваться файлами по сети с помощью терминала в Linux.

Итак, как вам небольшое руководство о том, как делиться файлами по локальной сети в Linux? Я надеюсь, что с помощью него вы сможете легко обмениваться файлами между Ubuntu и Windows. Если у вас есть вопросы или предложения, не стесняйтесь задавать их в поле для комментариев ниже.

Содержание

  • Терминал
    • Шаг 1: Подготовка Windows
    • Шаг 2: Настройка сервера Samba
    • Шаг 3: Создание папки с общим доступом
    • Шаг 4: Создание папки с доступом «Только для чтения»
    • Шаг 5: Создание папки с закрытым доступом
  • System Config Samba
    • Шаг 1: Установка
    • Шаг 2: Запуск
    • Шаг 3: Добавление пользователей
    • Шаг 4: Настройка сервера
    • Шаг 5: Создание папок
  • Nautilus
    • Шаг 1: Установка
    • Шаг 2: Настройка
  • Заключение
  • Вопросы и ответы

настройка ubuntu samba

Если появляется необходимость работать с одними и теми же файлами на разных компьютерах под управлением разных операционных систем, программа Samba в этом поможет. Но самостоятельно настроить общие папки не так уж и просто, и для рядового пользователя эта задача, скорее, невыполнима. В этой статье будет рассказано, как настроить Samba в Ubuntu.

Читайте также:
Как установить Ubuntu
Как настроить интернет-соединение в Ubuntu

Терминал

С помощью «Терминала» в Ubuntu можно сделать все что угодно, соответственно, настроить Samba тоже получится. Для простоты восприятия весь процесс будет разбит на этапы. Ниже будут представлены три варианта настройки папок: с общим доступом (открывать папку сможет любой пользователь без запроса пароля), с доступом только для чтения и с аутентификацией.

Шаг 1: Подготовка Windows

Перед тем как произвести настройку Samba в Ubuntu, надо подготовить операционную систему Windows. Для обеспечения корректной работы необходимо, чтобы все участвующие устройства состояли в одной рабочей группе, которая указана в самой Samba. По умолчанию во всех операционных системах рабочая группа носит название «WORKGROUP». Для определения конкретной группы, используемой в ОС Windows, нужно воспользоваться «Командной строкой».

  1. Нажмите сочетание клавиш Win+R и во всплывшем окне «Выполнить» введите команду cmd.
  2. открытие командной строки в windows

  3. В открывшейся «Командной строке» выполните следующую команду:

    net config workstation

  4. вывод команды net config в командной строке на windows

Имя интересующей вас группы располагается в строке «Домен рабочей станции». Конкретное местоположение вы можете видеть на изображении выше.

Далее, если на компьютере с Ubuntu статический IP, его необходимо прописать в файл «hosts» на Windows. Проще всего это сделать, используя «Командную строку» с правами администратора:

  1. Проведите поиск по системе с запросом «Командная строка».
  2. поиск командной строки в системе windows

  3. В результатах нажмите по «Командной строке» правой кнопкой мыши (ПКМ) и выберите пункт «Запуск от имени администратора».
  4. открытие командной строки в windows с правами администратора

  5. В открывшемся окне выполните следующее:

    notepad C:WindowsSystem32driversetchosts

  6. В файле, открывшемся после выполнения команды, пропишите в отдельной строке ваш IP-адрес.

Читайте также: Часто используемые команды «Командной строки» в Windows 7

После этого подготовка Windows может считаться оконченной. Все последующие действия выполняются на компьютере с операционной системой Ubuntu.

Выше был приведен всего один пример открытия «Командной строки» в Windows 7, если по какой-то причине вы не смогли открыть ее или у вас другая версия операционной системы, рекомендуем ознакомиться с подробной инструкцией на нашем сайте.

Подробнее:
Открытие «Командной строки» в Windows 7
Открытие «Командной строки» в Windows 8
Открытие «Командной строки» в Windows 10

Lumpics.ru

Шаг 2: Настройка сервера Samba

Настройка Samba — довольно трудоемкий процесс, поэтому внимательно выполняйте каждый пункт инструкции, чтобы в итоге все работало корректно.

  1. Установите все необходимые пакеты программного обеспечения, которые нужны для корректной работы Samba. Для этого в «Терминале» выполните команду:

    sudo apt-get install -y samba python-glade2

  2. Теперь в системе есть все необходимые компоненты для настройки программы. Первым делом рекомендуется сделать резервное копирование конфигурационного файла. Сделать это можно с помощью этой команды:

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

    Теперь, в случае возникновения каких-то трудностей, вы можете вернуть изначальный вид конфигурационного файла «smb.conf», выполнив:

    sudo mv /etc/samba/smb.conf.bak /etc/samba/smb.conf

  3. Далее создаем новый файл конфига:

    sudo gedit /etc/samba/smb.conf

    Примечание: для создания и взаимодействия с файлами в статье используется текстовый редактор Gedit, вы же можете использовать любой другой, прописав в соответствующей части команды его название.

  4. Читайте также: Популярные текстовые редакторы для Linux

  5. После вышеуказанного действия откроется пустой текстовый документ, в него необходимо скопировать следующие строки, тем самым задав глобальные настройки для сервера Sumba:

    [global]
    workgroup = WORKGROUPE
    netbios name = gate
    server string = %h server (Samba, Ubuntu)
    dns proxy = yes
    log file = /var/log/samba/log.%m
    max log size = 1000
    map to guest = bad user
    usershare allow guests = yes

  6. Читайте также: Как создать или удалить файлы в Linux

  7. Сохраните изменения в файле, нажав по соответствующей кнопке.
  8. кнопка сохранить в текстовом редакторе gedit в ubuntu

После этого первостепенная настройка Samba закончена. Если вы хотите разобраться во всех заданных параметрах, то сделать это можно на этом сайте. Чтобы найти интересующий параметр, разверните в левой части список «smb.conf» и отыщите его там, выбрав первую букву имени.

сайт с определением всех параметров в конфигурационном файле samba

Помимо файла «smb.conf», изменения нужно внести также и в «limits.conf». Для этого:

  1. Откройте нужный файл в текстовом редакторе:

    sudo gedit /etc/security/limits.conf

  2. Перед последней строкой в файле вставьте следующий текст:

    * - nofile 16384
    root - nofile 16384

  3. Сохраните файл.

По итогу он должен иметь следующий вид:

файл limits conf при настройке samba в ubuntu

Это необходимо для избежания ошибки, которая возникает при одновременном подключении нескольких пользователей к локальной сети.

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

sudo testparm /etc/samba/smb.conf

Если в результате вы увидите текст, что приведен на картинке ниже, значит, все вписанные вами данные верны.

проверка конфигурационного файла smb conf в ubuntu при натсройке samba

Остается перезапустить сервер Samba следующей командой:

sudo /etc/init.d/samba restart

Разобравшись со всеми переменными файла «smb.conf» и внеся изменения в «limits.conf», можно переходить непосредственно к созданию папок

Читайте также: Часто используемые команды в «Терминале» Linux

Шаг 3: Создание папки с общим доступом

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

  1. Для начала создайте саму папку. Сделать это можно в любой директории, в примере же папка будет находиться по пути «/home/sambafolder/», а называться — «share». Вот какую команду нужно выполнить для этого:

    sudo mkdir -p /home/sambafolder/share

  2. Теперь измените права доступа папки, чтобы каждый пользователь смог ее открыть и взаимодействовать со вложенными файлами. Делается это следующей командой:

    sudo chmod 777 -R /home/sambafolder/share

    Обратите внимание: в команде необходимо указать точный путь к созданной ранее папке.

  3. Осталось описать созданную папку в конфигурационном файле Samba. Сначала откройте его:

    sudo gedit /etc/samba/smb.conf

    Теперь в текстовом редакторе, отступив две строки внизу текста, вставьте следующее:

    [Share]
    comment = Full Share
    path = /home/sambafolder/share
    guest ok = yes
    browsable = yes
    writable = yes
    read only = no
    force user = user
    force group = users

  4. Сохраните изменения и закройте редактор.

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

конфигурационный файл samba с добавленной в него общей папкой в ubuntu

Чтобы все изменения вступили в силу, нужно перезапустить Samba. Делается это уже известной командой:

sudo service smbd restart

После этого в Windows должна появится созданная общая папка. Чтобы в этом убедиться, выполните в «Командной строке» следующее:

\gateshare

Также открыть ее можно и через Проводник, перейдя в директорию «Сеть», что размещена на боковой панели окна.

общая папка samba в windows

Бывает такое, что папки все равно не видно. Скорее всего, причина этому – ошибка при настройке. Поэтому еще раз следует пройтись по всем вышеперечисленным этапам.

Шаг 4: Создание папки с доступом «Только для чтения»

Если вы хотите, чтобы в локальной сети пользователи могли просматривать файлы, но не редактировать их, нужно создавать папку с доступом «Только для чтения». Делается это по аналогии с общей папкой, только в конфигурационном файле задаются другие параметры. Но чтобы не оставалось лишних вопросов, разберем все поэтапно:

Читайте также: Как узнать размер папки в Linux

  1. Создайте папку. В примере она будет находиться в той же директории что и «Share», только название будет иметь «Read». Поэтому в «Терминале» вводим:

    sudo mkdir -p /home/sambafolder/read

  2. Теперь наделите ее нужными правами, выполнив:

    sudo chmod 777 -R /home/sambafolder/read

  3. Откройте конфигурационный файл Samba:

    sudo gedit /etc/samba/smb.conf

  4. В конце документа вставьте следующий текст:

    [Read]
    comment = Only Read
    path = /home/sambafolder/read
    guest ok = yes
    browsable = yes
    writable = no
    read only = yes
    force user = user
    force group = users

  5. Сохраните изменения и закройте редактор.

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

конфигурационный файл samba после добавления папки только для чтения в ubuntu

Теперь перезагрузите сервер Samba, чтобы все внесенные изменения вступили в силу:

sudo service smbd restart

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

Шаг 5: Создание папки с закрытым доступом

Если вы хотите, чтобы сетевую папку пользователи могли открывать, проходя аутентификацию, то действия по ее созданию немного отличаются от вышеприведенных. Сделайте следующее:

  1. Создайте папку, например, «Pasw»:

    sudo mkdir -p /home/sambafolder/pasw

  2. Измените ее права:

    sudo chmod 777 -R /home/sambafolder/pasw

  3. Теперь создайте пользователя в группе «samba», который будет наделен всеми правами доступа к сетевой папке. Для это сначала создайте группу «smbuser»:

    sudo groupadd smbuser

  4. Добавьте в только что созданную группу пользователя. Его имя можете придумать самостоятельно, в примере будет «teacher»:

    sudo useradd -g smbuser teacher

  5. Задайте пароль, который необходимо будет вводить для открытия папки:

    sudo smbpasswd -a teacher

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

  6. ввод пароля пользователя samba в ubuntu

  7. Осталось лишь ввести все нужные параметры папки в конфигурационный файл Samba. Для этого сначала откройте его:

    sudo gedit /etc/samba/smb.conf

    А затем скопируйте этот текст:

    [Pasw]
    comment = Only password
    path = /home/sambafolder/pasw
    valid users = teacher
    read only = no

    Важно: если выполняя четвертый пункт этой инструкции, вы создали пользователя с другим именем, то его необходимо ввести в строку «valid users» после символа «=» и пробела.

  8. Сохраните изменения и закройте текстовый редактор.

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

конфигурационный файл samba со всеми созданными папками в ubuntu

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

sudo testparm /etc/samba/smb.conf

По итогу вы должны увидеть примерно такое:

проверка конфигурационного файла samba на ошибки в ubuntu

Если все в порядке, то перезагрузите сервер:

sudo /etc/init.d/samba restart

System Config Samba

Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.

Шаг 1: Установка

Изначально нужно установить специальную программу в систему, которая обладает интерфейсом и которая необходима для осуществления настройки. Сделать это можно с помощью «Терминала», выполнив команду:

sudo apt install system-config-samba

Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

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

Шаг 2: Запуск

Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.

Способ 1: Терминал

Если вы решили использовать «Терминал», то вам необходимо сделать следующее:

  1. Нажмите сочетание клавиш Ctrl+Alt+T.
  2. Введите следующую команду:

    sudo system-config-samba

  3. Нажмите Enter.

Далее вам потребуется ввести системный пароль, после чего откроется окно программы.

Примечание: во время осуществления настройки Samba с помощью System Config Samba не закрывайте окно «Терминала», так как в этом случае программа закроется, а все внесенные изменения не будут сохранены.

Способ 2: Меню Bash

Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.

  1. Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.
  2. кнопка мню bash в ubuntu

  3. Введите в открывшемся окне поисковой запрос «Samba».
  4. поисковая строка в меню bash в ubuntu

  5. Нажмите по одноименной программе в разделе «Приложения».
  6. samba в меню bash

После этого система запросит у вас пароль пользователя. Введите его и программа откроется.

окно ввода пароля при запуске samba в ubuntu

Шаг 3: Добавление пользователей

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

  1. Нажмите по пункту «Настройка» на верхней панели.
  2. кнопка настройки на панели system config samba

  3. В меню выберите пункт «Пользователи Samba».
  4. пункт пользователи самбы в меню настроек system config samba в ubuntu

  5. В появившемся окне нажмите «Добавить пользователя».
  6. кнопка добавить пользователя в окне программы самба в убунту

  7. В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.
  8. список пользователей samba в ubuntu

  9. Вручную введите имя пользователя Windows.
  10. поле для ввода имени пользователя windows в samba на ubuntu

  11. Введите пароль, а затем повторите его ввод в соответствующем поле.
  12. ввод пароля пользователя самбы в убунту

  13. Нажмите кнопку «ОК».

Таким образом вы можете добавить одного или нескольких пользователей Samba, а в будущем определить их права.

Читайте также:
Как добавить пользователей в группу в Linux
Как просмотреть список пользователей в Linux

Шаг 4: Настройка сервера

Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:

  1. В главном окне программы нажмите по пункту «Настройка» на верхней панели.
  2. пункт настройка на верхней панели окна самба в убунту

  3. Из списка выберите строку «Параметры сервера».
  4. строка параметры сервера в настройках программы самбы в убунту

  5. В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.
    ввод рабочей группы в настройках самба в убунту

    Примечание: как было сказано в начале статьи, наименование группы должно совпадать у всех участников. По умолчанию у всех компьютеров одна рабочая группа — «WORKGROUP».

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

  8. Перейдите на вкладку «Безопасность».
  9. вкладка безопасность в настройках сервера самба в убунту

  10. Определите режим аутентификации как «Пользователь».
  11. выбор режима аутентификации при настройке сервера самба в убунту

  12. Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.
  13. выбор шифрования пароля при настройке сервера самба в убунту

  14. Выберите гостевую учетную запись.
  15. выбор гостевой учетной записи при настройке сервера самба в убунту

  16. Нажмите «ОК».

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

Шаг 5: Создание папок

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

  1. Кликните по кнопке с изображением знака плюс.
  2. кнопка для создания новой общедоступной папки в samba в ubuntu

  3. В открывшемся окне, во вкладке «Основной», нажмите «Обзор».
  4. кнопка обзор для выбора каталога для расшаривания в samba в ubuntu

  5. В файловом менеджере укажите нужную папку для ее расшаривания.
  6. указание папки для расшаривания в файловом менеджере с помощью программы system config samba в ubuntu

  7. В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).
  8. галочки для разрешения редактирования общедоступных папок самба и отображения их на других пк

  9. Перейдите во вкладку «Доступ».
  10. вкладка доступ в system config samba в ubuntu

  11. На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.
    предоставление доступа к расшаренной папке samba только определенным пользователям

    Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».

  12. Нажмите кнопку «ОК».

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

созданная расшаренная папка в окне программы system config samba в ubuntu

При желании вы можете создать еще несколько папок, используя вышеприведенную инструкцию, или же изменить уже созданные, нажав по кнопке «Изменить свойства выбранного каталога».

кнопка для изменения свойств выбранного каталога в программе system config samba в ubuntu

Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.

Nautilus

Есть еще один способ настройки Samba в Ubuntu. Он отлично подойдет тем пользователям, которые не хотят устанавливать дополнительное ПО себе на компьютер и которые не любят прибегать к использованию «Терминала». Все настройки будут выполняться в стандартном файловом менеджере Nautilus.

Шаг 1: Установка

Используя Nautilus для настройки Samba, способ установки программы немного отличается. Эту задачу можно выполнить и с помощью «Терминала», как было описано выше, но ниже будет рассмотрен другой метод.

  1. Откройте Nautilus, нажав по одноименному значку на панели задач или проведя поиск по системе.
  2. значок файлового менеджера в убунту

  3. Перейдите в директорию, где находится нужный каталог для расшаривания.
  4. Нажмите по нему ПКМ и выберите из меню строку «Свойства».
  5. открытие свойств папки в убунту

  6. В открывшемся окне перейдите на вкладку «Общедоступная папка локальной сети».
  7. вкладка общедоступная папка локальной сети в убунту

  8. Поставьте галочку рядом с «Опубликовать эту папку».
  9. галочка в свойствах папки опубликовать эту папку в убунту

  10. Появится окно, в котором нужно нажать по кнопке «Установить службу», чтобы началась установка Samba в систему.
  11. кнопка установить службу для загрузки и установки samba в ubuntu

  12. Появится окно, в котором вы можете ознакомиться с перечнем устанавливаемых пакетов. После ознакомления нажмите кнопку «Установить».
  13. кнопка установить samba в ubuntu

  14. Введите пароль пользователя, чтобы разрешить системе выполнить загрузку и установку.
  15. окно аутентификации при установке samba в ubuntu

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

Шаг 2: Настройка

Настраивать Samba в Nautilus’е намного проще, чем с помощью «Терминала» или System Config Samba. Все параметры задаются в свойствах каталога. Если вы забыли как их открыть, то выполните три первых пункта предыдущей инструкции.

Чтобы сделать папку общедоступной, следуйте инструкции:

  1. В окне перейдите во вкладку «Права».
  2. вкладка права в свойствах папки

  3. Определите права для владельца, группы и остальных пользователей.
    определение прав для пользователей в убунту

    Примечание: если вам нужно ограничить доступ к общедоступной папке, то из списка выберите строку «Нет».

  4. Нажмите «Изменить права на вложенные файлы».
  5. кнопка изменить права на вложенные файлы в свойствах папки в убунту

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

  8. Нажмите «Изменить», а далее перейдите на вкладку «Общедоступная папка локальной сети».
  9. вкладка общедоступная папка локальной сети в свойствах папки в убунту

  10. Отметьте пункт «Опубликовать эту папку».
  11. галочка в свойствах папки опубликовать эту папку

  12. Введите наименование этой папки.
    ввод наименования общедоступной папки в наутилусе

    Примечание: поле «Комментарий» при желании вы можете оставить не заполненным.

  13. Поставьте или, наоборот, уберите галочки с «Разрешить другим пользователям изменять содержимое папки» и «Гостевой доступ». Первый пункт позволит пользователям, которые не наделены правами, редактировать вложенные файлы. Второй — откроет доступ всем пользователям, которые не имеют локальную учетную запись.
  14. дополнительные настройки общедоступной папки в убунту

  15. Нажмите «Применить».

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

Примечание: как настроить сервер Samba рассказано в начале статьи.

Заключение

Подводя итоги, можно сказать, что все вышеперечисленные способы в значительной мере отличаются друг от друга, но все они в равной степени позволяют осуществить настройку Samba в Ubuntu. Так, используя «Терминал», вы можете осуществить гибкую настройку, задавая все необходимые параметры как сервера Samba, так и создаваемых общедоступных папок. Программа System Config Samba точно так же позволяет настроить сервер и папки, но количество задаваемых параметров намного меньше. Основным же плюсом этого способа является наличие графического интерфейса, что в значительной мере облегчит настройку для рядового пользователя. Используя файловый менеджер Nautilus, вам не придется скачивать и устанавливать дополнительное программное обеспечение, но в некоторых случаях необходимо будет вручную проводить настройку сервера Samba, используя все тот же «Терминал».

#
# Пример файла конфигурации Samba для Debian GNU/Linux.
#
#
# Это основной конфигурационный файл Samba. Чтобы понять значение
# указанных здесь опций, прочитайте man-руководство smb.conf(5).
# У Samba есть большое количество опций настройки, большинство
# из которых здесь не показаны.
#
# Некоторые опции, который часто стоит настроить, показаны как
# закомментированные примеры в этом файле.
#  - Когда такие опции закомментированы с помощью ";", то эта
#    предложенная настройка включает опцию, которая отличается
#    от поведения по умолчанию Samba.
#  - Когда комментарий начинается с "#", то эта предложенная
#    настройка соответствует поведению по умолчанию Samba,
#    однако опция достаточно важна, чтобы быть упомянутой.
#
# ЗАМЕЧАНИЕ: всякий раз, когда Вы изменили этот файл, нужно
# проверить корректность сделанных настроек с помощью запуска
# команды "testparm" - она покажет базовые ошибки синтаксиса.
 
#==================== Глобальные настройки ====================
 
[global]
 
## Браузинг/идентификация ###
 
# Поменяйте это имя так, чтобы оно соответствовало рабочей
# группе / домену NT, куда сервер Samba будет входить как часть
# сетевого окружения:
   workgroup = WORKGROUP
 
# server string это эквивалент поля NT Description (описание сервера):
        server string = %h server (Samba, Ubuntu)
 
# Секция поддержки службы Windows Internet Name Serving:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
#   wins support = no
# WINS Server - сообщает WINS-клиенту компоненты NMBD.
# Замечание: Samba может быть либо сервером WINS, либо клиентом WINS,
# но не может выполнять обе эти роли одновременно.
;   wins server = w.x.y.z
 
# Эта опция предотвратит для nmbd поиск NetBIOS-имен через DNS.
   dns proxy = no
 
 
#### Сетевые настройки ####
 
# Специфический набор интерфейсов / сетей для привязки службы.
# Это может быть либо имя интерфейса, либо IP-адрес/маска;
# обычно предпочитают имена интерфейсов.
;   interfaces = 127.0.0.0/8 eth0
 
# Привязка только и именованным интерфейсам и/или сетям; для её применения
# Вы должны использовать вышеуказанную опцию 'interfaces'. Рекомендуется
# разрешить эту функцию, если Ваша машина с Samba не защищена файерволом
# или сама является файерволом. Однако эта опция не может корректно
# обрабатывать динамические или не широковещательные интерфейсы.
;   bind interfaces only = yes
 
 
#### Отладка / учет ####
 
# Говорит Samba использовать отдельный log-файл для каждой машины, которая
# подключится:
   log file = /var/log/samba/log.%m
 
# Предел размера отдельных лог-файлов (в килобайтах).
   max log size = 1000
 
# Если Вы хотите, чтобы Samba писала только в системный лог (syslog),
# то установите следующий параметр как 'yes'.
#   syslog only = no
 
# Мы хотим свести к минимуму количество информации, сохраняемой в syslog.
# Вместо этого все должно идти в /var/log/samba/log.{smbd,nmbd}. Если Вы
# хотите писать именно в syslog, то должны установить следующий параметр
# в какое-то большее число.
   syslog = 0
 
# Сделать что-нибудь значимое, когда Samba упала: отправить письмо
# backtrace админу:
   panic action = /usr/share/samba/panic-action %d
 
 
####### Аутентификация #######
 
# Роль сервера. Определяет, в каком режиме будет работать Samba. Возможные
# значения "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller".
#
# Большинство пользователей предпочитают "standalone sever" или "member server".
# Запуск в качестве "active directory domain controller" сначала потребует
# запуска "samba-tool domain provision" чтобы вычистить базы данных и создать
# новый домен.
   server role = standalone server
 
# Если Вы хотите использовать зашифрованные пароли, то Samba должна знать,
# какую базу данных паролей Вы используете.
   passdb backend = tdbsam
   obey pam restrictions = yes
 
# Этот двоичный параметр (yes/no) управляет, будет ли Samba делать попытки
# синхронизировать пароль Unix с паролем SMB, когда изменен шифрованный 
# пароль SMB password в базе passdb.
   unix password sync = yes
 
# Для синхронизации пароля Unix, работающей на системе Debian GNU/Linux,
# должны быть установлены следующие параметры (благодаря Ian Kahan 
<< kahan@informatik.tu-muenchen.de> для отправки корректного чат-скрипта
# программе passwd в Debian Sarge).
   passwd program = /usr/bin/passwd %u
   passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:*
    %nn *passwordsupdatedssuccessfully* .
 
# Эта двоичная опция управляет, будет ли использоваться PAM для изменений
# пароля, когда запрашивается SMB-клиент вместо программы, перечисленной
# d'passwd program'. Значение по умолчанию 'no'.
   pam password change = yes
 
# Эта опция управляет, как не успешные попытки аутентификации будут отображаться
# на анонимные подключения:
   map to guest = bad user
 
 
########## Домены ###########
 
#
# Следующие установки дают эффект только если установлено 'server role = primary
# classic domain controller', 'server role = backup domain controller', или
# 'domain logons'.
#
 
# Задает место нахождения директории профиля пользователя с точки зрения
# клиента). Следующий пример требует наличия настроенной на сервере Samba
# шары [profiles] (см. ниже):
;   logon path = \%Nprofiles%U
# Другой общий выбор - сохранение профиля в домашней директории пользователя
# (это вариант по умолчанию для Samba):
#   logon path = \%N%Uprofile
 
# Следующая установка дает эффект только если установлено 'domain logons'.
# Задает место нахождения домашней директории пользователя (с точки зрения
# клиента):
;   logon drive = H:
#   logon home = \%N%U
 
# Следующая установка дает эффект только если установлено 'domain logons'.
# Задает скрипт, запускаемый при логоне. Скрипт должен быть сохранен в шаре
# [netlogon].
# Замечание: файл скрипта должен иметь имя формата 'DOS'.
;   logon script = logon.cmd
 
# Это позволяет создавать пользователей Unix на контроллере домена через SAMR
# RPC pipe. Пример команды создает учетную запись пользователя  с запрещенным
# паролем Unix; пожалуйста адаптируйте этот пример под свои нужды:
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
 
# Это позволяет учетным записям машины быть созданными на контроллере домена
# через SAMR RPC pipe. Следующий пример настройки подразумевает, что группа
# "machines" существует на системе:
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account"
 -d /var/lib/samba -s /bin/false %u
 
# Это позволяет группам Unix быть созданными на контроллере домена
# через SAMR RPC pipe.
; add group script = /usr/sbin/addgroup --force-badname %g
 
 
############ Разное ############
 
# Использование следующей строки позволит Вам настроить пользовательскую
# конфигурацию на базе машин. Строка %m будет заменена именем netbios машины,
# которая подключается.
;   include = /home/samba/etc/smb.conf.%m
 
# Некоторые умолчания для winbind (убедитесь, что Вы не используете эти
# диапазоны для чего-то еще).
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash
 
# Настройка опций шар пользователя, чтобы разрешить не-root
# пользователям расшаривать папки командой net usershare.
# Максимальное количество шар пользователя. 0 (по умолчанию) означает,
# что функция usershare запрещена.
;   usershare max shares = 100
 
# Разрешает пользователям, которым даны привилегии usershare, создавать
# публичные шары, не только аутентификационные:
   usershare allow guests = yes
 
 
#======================= Определения шар =======================
 
# Раскомментируйте следующее (и настройте другие опции ниже по мере
# надобности), чтобы разрешить шары домашней директории по умолчанию.
# Это расшарит каждую домашнюю директорию пользователя как
# \serverusername:
;[homes]
;   comment = Home Directories
;   browseable = no
 
# По умолчанию домашние директории экспортируются только для чтения
# (read-only). Поменяйте следующий параметр на 'no', если хотите
# иметь возможность писать в них:
;   read only = yes
 
# Маска создания файла установлена на 0700 по соображениям безопасности.
# Если Вы хотите создавать файлы с разрешениями group=rw, то установите
# следующий параметр на 0775 (полный доступ для всех задается маской 0x777).
;   create mask = 0700
 
# Маска создания директории установлена на 0700 по соображениям безопасности.
# Если Вы хотите создавать каталоги с разрешениями group=rw, то установите
# следующий параметр на 0775 (полный доступ для всех задается маской 0x777).
;   directory mask = 0700
 
# По умолчанию к шарам \serverusername могут подключаться кто угодно,
# кто имеет доступ к серверу Samba. Раскомментируйте следующий параметр
# для гарантии, что только "username" может подключиться к шаре
# \serverusername. Это может потребовать подстройки, если используются
# схемы внешней аутентификации.
;   valid users = %S
 
# Раскомментируйте следующее, чтобы создать директорию netlogon для
# логонов домена (Domain Logons). Также потребуется сконфигурировать
# Samba, чтобы она функционировала как контроллер домена.
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes
 
# Раскомментируйте следующее, чтобы создать директорию profiles для
# хранения профилей пользователей (см. выше опцию "logon path").
# Также потребуется сконфигурировать Samba, чтобы она функционировала
# как контроллер домена. Путь ниже должен быть записываемым для всех
# пользователей, чтобы могли быть созданы их директории, когда пользователи
# логинятся первый раз.
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700
 
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
 
# Клиенты Windows видят это имя шары как источник загружаемых драйверов принтера:
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
# Раскомментируйте, чтобы позволить удаленное администрирование драйверов
# принтеров Windows. Вам может понадобиться заменить 'lpadmin' именем
# группы, членами которой являются Ваши пользователи с полномочиями
# администратора. Обратите внимание, что Вам нужно установить подходящие
# разрешения Unix для этих пользователей на директорию драйверов, чтобы
# они могли туда записывать:
;   write list = root, @lpadmin
 
# Эта шара для обмена файлами, в неё имеют полный доступ кто угодно
# без необходимости использования правильного пароля:
[share]
   path = /home/share/
   read only = No
   create mask = 0777
   directory mask = 0777
   browseable = yes
   public = yes

Samba — это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows. Samba состоит из клиентской и серверной части. Клиентская часть позволяет получить доступ к сетевым папкам и ресурсам Windows, а серверная, в свою очередь, открывает общий доступ к папке Ubuntu для других машин, в том числе и Windows.

В этой небольшой инструкции будет рассмотрена простейшая настройка Samba Ubuntu 18.04, а также как настроить общий доступ к папке Ubuntu с несколькими уровнями привилегий.

Мы создадим три общие папки с различными уровнями разрешений. Папку с анонимным доступом, с доступом для пользователей, входящих в определенную группу и доступом лишь для определенного пользователя.

Получить доступ к расшаренным папкам в Ubuntu смогут как Linux так и Widnows машины, с помощью любой программы для работающей по протоколу SMB.

Подготовка Windows

Для того чтобы все работало правильно, все машины должны состоять в одной рабочей группе, указанной на сервере Samba. По умолчанию для Windows, Linux и MacOS рабочая группа называется Workgroup. Чтобы узнать какая рабочая группа используется в вашей Windows откройте командную строку (Win+R, затем cmd) и выполните вот такую команду:

net config workstation

share1

share

Нужный нам параметр мы видим в строке Домен рабочей станции. Это и есть рабочая группа.

Теперь, если у компьютера с Samba сервером в вашей сети будет постоянный IP адрес желательно ввести его в файле hosts. Для этого запустите командную строку от имени администратора:

share3

И выполните команду:

notepad C:WindowsSystem32driversetchosts

В открывшимся файле добавьте строчку с IP адресом компьютера, на который будет установлен Samba:

192.168.0.1 srvr1.domain.com srvr1

Теперь можно переходить к вопросу как расшарить папку Ubuntu.

Начнем, как обычно, с установки. Установка Samba Ubuntu вместе со всеми необходимыми компонентами выполняется командой:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

Когда все будет установлено, можно переходить к настройке. Сначала создайте резервную копию оригинального файла конфигурации Samba:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

После создания резервной копии, создайте свой файл конфигурации, этой командой:

 sudo vi /etc/samba/smb.conf

Сначала укажем глобальные настройки файлового сервера. Для этого вставьте в файл такие строки:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes

Рассмотрим подробнее что значат эти строки.

  • workgroup — рабочая группа, как уже говорилось должна одинакова на всех машинах
  • netbios name — имя компьютера, которое будет отображаться в Windows;
  • log file — адрес файла, куда будут складываться сообщения об ошибках и другая информация;
  • security — по умолчанию выполнять аутентификацию на уровне пользователя;
  • name resolve order — очередность разрешения IP адресов по NetBIOS имени. bcast — означает отправить в локальную сеть широковещательный запрос. Если все компьютеры между которыми планируется взаимодействие находятся в одной сети этот вариант оптимальный;
  • passdb backend — способ хранения паролей пользователей;
  • unix password sync — синхронизация паролей пользователей samba с локальными паролями Unix;
  • map to guest — указывает, когда пользователю будет предоставляться гостевой доступ. Доступно три значения — never — никогда, bad user — когда такого пользователя не существует, bad password — когда пароль введен неверно,

Когда завершите создание конфигурационного файла, переходим к вопросу как расшарить папку Ubuntu для Windows.

Общий доступ к папке Ubuntu

Сначала давайте создадим общую папку доступную всем. То есть с анонимным доступом, без авторизации samba.

Создайте папку, к которой будем открывать доступ, например:

sudo mkdir -p /samba/allaccess

После того как папка создана, нужно сделать для нее правильные права доступа. Следующие команды разрешают доступ к папке для всех и делают владельцем nobody:

cd /samba
sudo chmod -R 0755 allaccess
sudo chown -R nobody:nogroup allaccess/

Следующим шагом будет описать папку allaccess в файле настройки samba:

[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

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

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes
#==============
[AllAccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Рассмотрим подробнее опции, которые были здесь использованы:

  • path — путь к папке, которую нужно расшарить;
  • browsable — будет ли папка отображаться в списке доступных шар;
  • writable — будет ли папка доступна для записи;
  • read only — папка доступна только для чтения;
  • guest ok, public — будет ли разрешен гостевой доступ;
  • only guest — если установлено yes, то папка будет доступна только гостям;
  • hosts allow — ip адреса, с которых можно получить доступ к этому серверу;
  • valid users — по умолчанию могут авторизоваться все пользователи, если в этом параметре передать список пользователей, то авторизоваться смогут только они;
  • create mask — маска прав для создаваемых файлов.

Чтобы применить изменения, перезапустите сервер Samba:

sudo systemctl restart samba

Настройка Samba Ubuntu для анонимного доступа завершена. Теперь вы можете проверить доступность общей папки allaccess из Windows, для этого нажмите Win+R и выполните:

\srvr1allaccess

share5

Вы увидите нашу папку. Если не увидите, проверьте еще раз конфигурацию. Доступ к папке можно получить без авторизации samba. Настойка Samba шары с доступом без авторизации завершена.

Также вы можете подключится к этому серверу из Linux с помощью Nautilus для этого достаточно набрать адрес smb://ip-сервера, в разделе другие места:

Защищенный общий доступ к папке Ubuntu

Чтобы расшарить папку для Windows Ubuntu, к которой будут иметь доступ только пользователи из определенной группы, создадим отдельную папку и опишем ее в файле настройки Samba в Ubuntu.

Сначала создаем папку:

sudo mkdir -p /samba/allaccess/secured

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

Создаем группу:

sudo addgroup securedgroup

Настраиваем права:

cd /samba/allaccess
$ sudo chown -R richard:securedgroup secured
$ sudo chmod -R 0770 secured/

Последний шаг, добавляем настройки в конфигурационный файл samba:

sudo vi /etc/samba/smb.conf

[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes

Перезапустите сервер Samba. Теперь доступ к общей папке в Ubuntu могут получить только пользователи группы securegroup.

Чтобы проверить как это работает добавим пользователя richard в нашу группу:

sudo usermod -a -G securedgroup richard

Чтобы пользователь мог работать с расшаренными папками в Ubuntu, он должен быть в базе данных Samba. Поэтому создадим для него пароль Samba:

sudo smbpasswd -a richard

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

Если вы хотите чтобы общий доступ к папке Ubuntu мог получить доступ только определенный пользователь замените в конфигурационном файле @securegroup на имя пользователя. Также можно указать несколько пользователей через запятую или несколько групп.

Выводы

Вот и все. Теперь вы знаете как правильно выполняется установка Samba на Ubuntu 18.04, а также ее настройка. Кроме ручного редактирования конфигурационных файлов, для того чтобы расшарить папку в Ubuntu можно воспользоваться графической утилитой system-samba-config. Но после того как мы разобрали все низкоуровневые настройки, с этой утилитой вы справитесь без труда.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

One of the most common ways to network Ubuntu and Windows computers is to configure Samba as a File Server. This section covers setting up a Samba server to share files with Windows clients.

The server will be configured to share files with any client on the network without prompting for a password. If your environment requires stricter Access Controls see Share Access Control.

Installation

The first step is to install the samba package. From a terminal prompt enter:

$ sudo apt install samba

That’s all there is to it; you are now ready to configure Samba to share files.

Configuration

The main Samba configuration file is located in /etc/samba/smb.conf. The default configuration file has a significant number of comments in order to document various configuration directives.

Note

Not all the available options are included in the default configuration file. See the smb.conf man page or the Samba HOWTO Collection for more details.

First, edit the workgroup parameter in the [global] section of /etc/samba/smb.conf and change it to better match your environment:

workgroup = EXAMPLE

Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755
  • comment: a short description of the share. Adjust to fit your needs.

  • path: the path to the directory to share.

    This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.

  • browsable: enables Windows clients to browse the shared directory using Windows Explorer.

  • guest ok: allows clients to connect to the share without supplying a password.

  • read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no, as is seen in this example. If the value is yes, then access to the share is read only.

  • create mask: determines the permissions new files will have when created.

Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:

$ sudo mkdir -p /srv/samba/share
$ sudo chown nobody:nogroup /srv/samba/share/

Note

The -p switch tells mkdir to create the entire directory tree if it doesn’t exist.

Finally, restart the samba services to enable the new configuration:

$ sudo systemctl restart smbd.service nmbd.service

Warning

Once again, the above configuration gives all access to any client on the local network. For a more secure configuration see Share Access Control.

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn’t show your share automatically, try to access your server by its IP address, e.g. \192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new [sharename] sections in /etc/samba/smb.conf, and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

Note

The file share named “[share]” and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of [qa] with a path of /srv/samba/qa.

Resources

  • For in depth Samba configurations see the Samba HOWTO Collection

  • The guide is also available in printed format.

  • O’Reilly’s Using Samba is another good reference.

  • The Ubuntu Wiki Samba page.

Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.

Как настроить Samba?

  • Что такое Samba?
  • Как настроить общую папку
  • Как настроить общую папку в Linux
  • Как настроить общую папку в Windows
  • Как подключиться к общей папке
  • Как подключиться к общей папке Linux
  • Как подключиться к общей папке Windows
  • Как создать общий сетевой ресурс в Samba

Что такое Samba?

Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.

Описание структуры Samba

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

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

apt-get install -y samba samba-client

Создадим резервную копию файла конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf_sample

Создадим директории для файлов, например в каталоге /media:

mkdir /media/samba

Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.

Создаем каталог для всех пользователей:

mkdir /media/samba/public

Изменим права доступа к каталогу:

chmod -R 0755 /media/samba/public

Также следует воспользоваться командой chown для смены владельца и/или группы.

Создаем директорию для ограниченного круга лиц:

mkdir /media/samba/private

С помощью системных инструментов создадим группу пользователей:

groupadd smbgrp

Добавляем пользователей Samba:

useradd user1

Созданных пользователей добавляем в группу:

usermod -aG smbgrp user1

Изменим группу, которой принадлежит приватная директория:

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

smbpasswd -a user1

С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:

nano /etc/samba/smb.conf

Удаляем все строки из файла. Вставляем следующие:

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /media/samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /media/samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

В секции global присутствуют пять параметров:

  • workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
  • security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
  • map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
  • wins support — включить или выключить поддержку WINS;
  • dns proxy — возможность проксирования запросов к DNS.

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Проверяем настройки с помощью команды:

testparm -s

Перезапускаем сервер:

service smbd restart

service nmbd restart

Настроим межсетевой экран. Для этого в правилах откроем TCP-порты 139 и 445, а также UDP-порты 137 и 138, но только для тех подсетей, которым доверяете. Для указания собственного диапазона адресов, замените значение после ключа “-s”:

iptables -A INPUT -p tcp -m tcp --dport 445 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 139 -s 10.0.0.0/24 -j ACCEPT

iptables -A INPUT -p udp -m udp --dport 137 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 138 -s 10.0.0.0/24 -j ACCEPT

Для сохранения правил и применения их после перезагрузки сервера следует воспользоваться пакетом iptables-persistent. Установим его:

apt-get install iptables-persistent

Входе установки пакета, программа предложит запомнить существующие правила iptables. Подтверждаем это действие.

Для проверки существующих правил используем:

iptables -L

Windows

По аналогии с Linux, настроим общий доступ к папкам public и private, но в ОС Windows.

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

Панель управления → Сеть → Центр управления сетями и общим доступом → Расширенные настройки общего доступа.

В обновленном окне открываем раздел “Все сети” и ищем секцию “Общий доступ с парольной защитой”. Устанавливаем параметр в положение “Отключить общий доступ с парольной защитой”. Для сохранения значений параметра кликаем по кнопке “Сохранить изменения”.

Отключаем общий доступ с парольной защитой

Теперь откроем доступ к самому каталогу. Кликаем по папке правой кнопкой мыши, в контекстном меню выбираем “Свойства”. Открываем вкладку “Доступ” и кликаем по “Расширенная настройка”.

Выбираем расширенную настройку

В открывшемся окне расширенных настроек общего доступа отмечаем галочкой “Открыть общий доступ к этой папке”, в поле “Имя общего ресурса” указываем название, которое будет отображено пользователям. Кликаем по кнопке “Разрешения”.

В открывшемся окне, в группах пользователей выбираем “Все”, а в разрешениях для группы, устанавливаем галку “Полный доступ”. Нажимаем “OK” в этом и остальных окнах.

Выбираем саму группу и разрешения для группы

В окне свойств папки public кликаем по кнопке “Общий доступ”.

Общий доступ к файлам в Samba | Serverspace

В открывшемся окне добавляем пользователя “Все”, а также делегируем права на “Чтение и запись”. Кликаем по кнопке “Поделиться”.

Выбираем права и делимся ими с пользователями

В обновленном окне нажимаем “Готово”.

Нажимаем готово

Настроим папку общего доступа, но для ограниченного круга лиц.

Кликаем правой кнопкой мыши по папке, выбираем “Свойства”.

В открывшемся окне переходим на вкладку “Доступ”. Кликаем по кнопке “Расширенные настройки”.

В новом открывшемся окне, устанавливаем галку “Открыть общий доступ к этой папке”. Затем кликаем по кнопке “Разрешения”.

Открываем общий доступ к этой папке

В открывшемся окне, в поле “Группы или пользователи” выбираем “Все” и нажимаем кнопку “Удалить”.

Удаляем пользователя

Таким образом установлен запрет на анонимный доступ к папке.

Окно обновится. Кликаем по кнопке “Добавить”.

В открывшемся окне кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно изменится в размере. Кликаем по кнопке “Поиск”. Двойным кликом выбираем пользователя, которому необходим доступ к этому каталогу, например, buhgalter.

Добавляем пользователя которому нужен доступ к этому каталогу

В открывшемся окне, при желании, можем добавить еще одного пользователя через “Дополнительно” — “Поиск”. Аналогичным образом можно добавить группу пользователей, например, “Администраторы”, при этом следует понимать, что доступ будет предоставлен всем пользователям из этой группы.

При желании добовляем еще одного пользователя

Установим права доступа для пользователя “buhgalter”. Если требуется полный доступ к директории, устанавливаем галку в соответствующем месте.

Пример установки прав для группы пользователей

Нажимая кнопки “OK” возвращаемся к окну свойств папки, в котором кликаем по кнопке “Общий доступ”.

Возвращаемся обратно и выбираем общий доступ

В данном окне необходимо найти и добавить пользователя “бухгалтер”.

Ищем нашего пользователя и добавляем его

В окне выбора пользователей и групп кликаем по кнопке “Дополнительно”.

Выбираем дополнительные параметры

Окно снова изменит свои размеры. Кликаем по кнопке “Поиск”. В найденном ниже списке пользователей и групп выбираем искомого пользователя. Выбираем его двойным кликом.

Выбираем пользователей

В оставшемся окне проверяем правильно ли указан пользователи и нажимаем кнопку “OK”.

Проверяем выбранного пользователя

Устанавливаем требуемый уровень разрешений для пользователя и кликаем по кнопке “Поделиться”.

Добавляем права и делимся ими

Кликаем по кнопке “Готово”.

Теперь папка общего доступа доступна

Подключение к общим папкам

Из Linux

Для подключения к общим папкам из среды Linux требуется установка отдельного программного обеспечения — smbclient. Установим:

sudo apt-get install smbclient

Для подключения к серверу используется следующий формат комангды:

smbclient -U <Имя_пользователя> <IP-адрес><Имя_каталога_на_сервере>

Пример:

smbclient -U buhgalter 10.0.0.1public

Для того, Чтобы не вводить эту команду каждый раз, можно настроить монтирование общей директории как сетевого диска. Для этого установим пакет cifs-utils:

sudo apt-get install cifs-utils

Монтирование выполняется по следующему шаблону:

mount -t cifs -o username=<Имя_пользователя>,password= //<IP-адрес>/<Общий каталог> <Точка монтирования>

Пример:

mount -t cifs -o username=Everyone,password= //10.0.0.1/public /media

Важно! Если требуется подключение к общим папкам расположенным на Windows-сервере, то в для не защищенных паролем директорий, в качестве имени пользователя, следует использовать “Everyone”. Для подключения к Linux-серверу рекомендуем использовать в качестве имени пользователя “nobody”. В случае доступа к защищенным директориям следует использовать те учетные данные, которые вы указали.

Из Windows

Подключение к удаленным папкам из среды Windows выполняется немного иначе. Для этого в проводнике или окне запуска программ (Windows + R), следует использовать следующий шаблон:

<IP-адрес><имя_папки>

Указав просто IP-адрес сервера вы получите список общих папок.

Список общих папок

При подключении к Windows-сервер, система безопасности может потребовать ввод учетных данных. Для подключения к общей открытой папке используем Everyone, а поле пароля оставляем пустым.

Для подключения к общей папке выбираем Everyone и пустое поле для пароля

При подключении к Linux-серверу из ОС Windows, следует использовать указанный ранее шаблон:

<IP-адрес><имя_папки>

или просто адрес сервера:

<IP-адрес>

Как создать общий сетевой ресурс в Samba

Создайте директорию, которую в хотите сделать общей:

mkdir /home/<user_name>/<folder_name></folder_name></user_name>

Создайте бэкап, если что-то пойдет не так:

sudo cp /etc/samba/smb.conf ~

Отредактируйте файл «/etc/samba/smb.conf»:

sudo nano /etc/samba/smb.conf

Добавьте следующее содержимое в файл:

[<folder_name>]
path = /home/<user_name>/<folder_name>
valid users = <user_name>
read only = no</user_name></folder_name></user_name></folder_name>

Заполните файл своими данными, сохраните его и затем закройте

Перезапустим Samba:
sudo service smbd restart

Использую данную команду проверьте вашу директорию smb.conf на ошибки:

testparm

Чтобы получить доступ к вашему общему сетевому ресурсу:

sudo apt-get install smbclient
# Просмотр всех общих ресурсов:
smbclient -L //<host_ip_or_name>/<folder_name> -U <user>
# Подключение:
smbclient //<host_ip_or_name>/<folder_name> -U <user></user></folder_name></host_ip_or_name></user></folder_name></host_ip_or_name>

Note 1: Чтобы подключиться к вашему общему сетевому ресурсу используйте имя вашего пользователя () и пароль, который находится «smb:////»
Учтите, что «» значение передается в «[]»,
другими словами, имя общего ресурса, которое вы ввели в «/etc/samba/smb.conf».
Note 2: Группа пользователей samba по умолчанию это — «WORKGROUP».

Понравилась статья? Поделить с друзьями:
  • Ubuntu server на виртуальной машине под windows
  • Ubuntu server ввод в домен windows
  • Ubuntu server ввести в домен windows
  • Ubuntu samba windows не может получить доступ
  • Ubuntu samba connect to windows share