Android

Как установить и настроить Samba на Ubuntu 18.04

Setting up Simple Samba File Shares

Setting up Simple Samba File Shares

Оглавление:

Anonim

Samba - это бесплатная и открытая реализация протокола сетевого обмена файлами SMB / CIFS, который позволяет конечным пользователям получать доступ к файлам, принтерам и другим общим ресурсам.

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

Мы создадим следующие общие ресурсы и пользователей Samba.

Пользователи:

  • sadmin - Администратор с правами чтения и записи для всех общих ресурсов. josh - обычный пользователь со своей личной папкой.

Акции:

  • пользователи - эта папка будет доступна всем пользователям с правами на чтение / запись. josh - этот ресурс будет доступен с правами на чтение / запись только пользователям josh и sadmin.

Файловые ресурсы будут доступны со всех устройств в вашей сети. Далее в этом руководстве мы также предоставим подробные инструкции о том, как подключиться к серверу Samba из клиентов Linux, Windows и macOS.

Предпосылки

Прежде чем продолжить, убедитесь, что вы вошли в систему Ubuntu 18.04 как пользователь с привилегиями sudo.

Установка Samba в Ubuntu

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

  1. Начните с обновления индекса пакетов apt:

    sudo apt update

    Установите пакет Samba с помощью следующей команды:

    sudo apt install samba

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

    sudo systemctl status smbd

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

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

На данный момент Samba установлена ​​и готова к настройке.

Настройка брандмауэра

Предполагая, что вы используете UFW для управления брандмауэром, вы можете открыть порты, включив профиль 'Samba':

sudo ufw allow 'Samba'

Настройка глобальных параметров Samba

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

sudo cp /etc/samba/smb.conf{,.backup}

Файл конфигурации по умолчанию, который поставляется с пакетом Samba, настроен для автономного сервера Samba. Откройте файл и убедитесь, что server role установлена ​​как standalone server

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

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

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

После этого запустите утилиту testparm чтобы проверить файл конфигурации Samba на наличие ошибок. Если нет синтаксических ошибок, вы увидите Loaded services file OK.

Наконец, перезапустите сервисы Samba с помощью:

sudo systemctl restart smbd sudo systemctl restart nmbd

Создание пользователей Samba и структуры каталогов

Для удобства обслуживания и гибкости вместо использования стандартных домашних каталогов ( /home/user ) все каталоги и данные Samba будут находиться в каталоге /samba .

Чтобы создать каталог /samba введите:

sudo mkdir /samba

Установите групповое владение на sambashare . Эта группа создается во время установки Samba, позже мы добавим всех пользователей Samba в эту группу.

sudo chgrp sambashare /samba

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

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

Создание пользователей Samba

Чтобы создать нового пользователя с именем josh используйте следующую команду:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Параметры useradd имеют следующие значения:

  • -M -не создавать домашний каталог пользователя. Мы вручную создадим этот каталог. -d /samba/josh - установить домашний каталог пользователя в /samba/josh . -s /usr/sbin/nologin - отключить доступ к оболочке для этого пользователя. -G sambashare - добавить пользователя в группу sambashare .

Создайте домашний каталог пользователя и установите в качестве владельца каталога пользователя josh и группу sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Следующая команда добавит бит setgid в каталог /samba/josh чтобы вновь созданные файлы в этом каталоге наследовали группу родительского каталога. Таким образом, независимо от того, какой пользователь создаст новый файл, у него будет группа-владелец sambashare . Например, если вы не установите права доступа к sadmin 2770 а пользователь sadmin создает новый файл, пользователь josh не сможет читать / записывать в этот файл.

sudo chmod 2770 /samba/josh

Добавьте josh запись пользователя josh в базу данных Samba, установив пароль пользователя:

sudo smbpasswd -a josh

Вам будет предложено ввести и подтвердить пароль пользователя.

New SMB password: Retype new SMB password: Added user josh.

После того, как пароль установлен для включения учетной записи Samba, запустите:

sudo smbpasswd -e josh

Enabled user josh.

Для создания другого пользователя повторите тот же процесс, что и при создании пользователя josh .

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

Создайте административного пользователя, набрав:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

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

Установите пароль и включите пользователя:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Затем создайте каталог Users доступа Users :

sudo mkdir /samba/users

Установите право собственности на каталог для пользователя sadmin и группы sambashare :

sudo chown sadmin:sambashare /samba/users

Этот каталог будет доступен всем аутентифицированным пользователям. Следующая команда chmod предоставляет доступ на запись / чтение членам группы sambashare в sambashare /samba/users :

sudo chmod 2770 /samba/users

Конфигурирование акций Samba

Откройте файл конфигурации Samba и добавьте разделы:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Опции имеют следующие значения:

  • и - Имена общих ресурсов, которые вы будете использовать при входе в систему. path - Путь к общей папке. browseable - должен ли общий ресурс быть указан в списке доступных акций. При настройке no другой пользователь не сможет видеть общий ресурс. read only - могут ли пользователи, указанные в valid users списке valid users , писать в этот общий ресурс. force create mode - устанавливает разрешения для вновь создаваемых файлов в этой общей папке. force directory mode - Устанавливает разрешения для вновь созданных каталогов в этом общем ресурсе. valid users - список пользователей и групп, которым разрешен доступ к общему ресурсу. Группы начинаются с символа @ .

Для получения дополнительной информации о доступных параметрах см. Страницу документации файла конфигурации Samba.

После этого перезапустите сервисы Samba:

sudo systemctl restart smbd sudo systemctl restart nmbd

В следующих разделах мы покажем вам, как подключиться к общему ресурсу Samba из клиентов Linux, macOS и Windows.

Подключение к Samba Share из Linux

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

Использование клиента smbclient

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

Чтобы установить smbclient в Ubuntu и Debian, выполните:

sudo apt install smbclient

Чтобы установить smbclient на CentOS и Fedora, выполните:

sudo yum install samba-client

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

mbclient //samba_hostname_or_server_ip/share_name -U username

Например, чтобы подключиться к josh ресурсу с именем josh на сервере Samba с IP-адресом 192.168.121.118 качестве пользователя josh вы должны выполнить:

smbclient //192.168.121.118/josh -U josh

Вам будет предложено ввести пароль пользователя.

Enter WORKGROUP\josh's password:

После того, как вы введете пароль, вы войдете в интерфейс командной строки Samba.

Try "help" to get a list of possible commands. smb: \>

Монтирование общего ресурса Samba

Чтобы сначала смонтировать общий ресурс Samba в Linux, вам необходимо установить пакет cifs-utils .

На Ubuntu и Debian запустите:

sudo apt install cifs-utils

На CentOS и Fedora работают:

sudo yum install cifs-utils

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

sudo mkdir /mnt/smbmount

Смонтируйте общий ресурс с помощью следующей команды:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Например, чтобы смонтировать ресурс с именем josh на сервере Samba с IP-адресом 192.168.121.118 качестве пользователя josh в точку монтирования /mnt/smbmount вы запустите:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Вам будет предложено ввести пароль пользователя.

Password for josh@//192.168.121.118/josh: ********

Использование GUI

Файлы, файловый менеджер по умолчанию в Gnome имеет встроенную возможность доступа к общим ресурсам Samba.

  1. Откройте «Файлы» и нажмите «Другие местоположения» на боковой панели. В «Подключиться к серверу» введите адрес общей smb://samba_hostname_or_server_ip/sharename Samba в следующем формате smb://samba_hostname_or_server_ip/sharename sharename. Нажмите «Подключиться», и появится следующий экран:

Вывод

Из этого руководства вы узнали, как установить сервер Samba в Ubuntu 18.04 и создавать различные типы общих ресурсов и пользователей. Мы также показали, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

самба убунту