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

How to Install and Configure Samba on Ubuntu 18.04

14 Февраля 2021 | Ubuntu

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

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

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

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

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

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


Ресурсы:

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


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

Прежде чем приступить

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

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

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

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

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

    sudo apt install samba 
    
    
  3. После завершения установки служба 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 установлена ​​и готова к настройке.
 

Настройка межсетевого экрана

Если у вас есть брандмауэр работает в вашей системе Ubuntu вам необходимо разрешить входящие соединения UDP на портах 137 и 138 и TCP соединений на портах 139 и 445 .

Предполагая, что вы используете 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. Мы создадим пользователей с помощью стандартного useradd инструмента Linux , а затем установим пароль пользователя с помощью 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 . Например, если вы не установите права доступа к каталогу, 2770 а sadmin пользователь создаст новый файл, пользователь josh не сможет читать / писать в этот файл.
 

sudo chmod 2770 /samba/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 общий каталог:
 

sudo mkdir /samba/users 


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

sudo chown sadmin:sambashare /samba/users 


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

sudo chmod 2770 /samba/users 


Настройка общих ресурсов Samba

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

sudo nano /etc/samba/smb.conf 
/etc/samba/smb.conf
[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

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


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

  • [users] и [josh] - Имена общих ресурсов, которые вы будете использовать при входе в систему.
  • path - Путь к доле.
  • browseable - Должна ли акция быть указана в списке доступных акций. При установке на no другие пользователи не смогут увидеть общий ресурс.
  • read only - Могут ли пользователи, указанные в 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 из 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 на сервере 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:  ******** 

Использование графического интерфейса

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

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




     
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba.

     


Подключение к общему ресурсу Samba из macOS

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

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




     
  3. Нажмите «Подключиться», и появится следующий экран:




     
  4. Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
  5. Будут показаны файлы на сервере Samba.



     

Подключение к общему ресурсу Samba из Windows

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

  1. Откройте проводник и на левой панели щелкните правой кнопкой мыши «Этот компьютер».
  2. Выберите «Выбрать другое сетевое расположение» и нажмите «Далее».
  3. В поле «Интернет или сетевой адрес» введите адрес общего ресурса Samba в следующем формате \\samba_hostname_or_server_ip\sharename .




     
  4. Нажмите «Далее», и вам будет предложено ввести учетные данные для входа, как показано ниже:




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




     
  6. Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки подключения.
  7. Нажмите «Готово», и файлы на сервере Samba будут показаны.



     

Вывод

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


    Комментарии

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

Загрузка комментариев...