ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и настроить Samba в CentOS 7

Как установить и настроить Samba в CentOS 7

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

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

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

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

Совместное использование:

 

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

 

Предпосылки

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

 

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

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

sudo yum install samba samba-client

 

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

sudo systemctl start smb.service
sudo systemctl start nmb.service
sudo systemctl enable smb.service
sudo systemctl enable nmb.service

 

Служба smbd обеспечивает совместный доступ к файлам, услуги печати и прослушивает TCP порты 139 и 445. Служба nmbd предоставляет NetBIOS через IP – служб имен для клиентов и прослушивает UDP порт 137.

 

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

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

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --zone=public --add-service=samba

 

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

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

Начните с создания каталога /samba:

sudo mkdir /samba

 

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

sudo groupadd sambashare

 

Установите владельца группы каталогов /samba на sambashare:

sudo chgrp sambashare /samba

 

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

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

 

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

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

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

 

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

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

sudo mkdir /samba/andreyexsudo chown andreyex:sambashare /samba/andreyex

 

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

sudo chmod 2770 /samba/andreyex

 

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

sudo smbpasswd -a andreyex

 

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

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

 

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

sudo smbpasswd -e andreyex
Enabled user andreyex.

 

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

Далее давайте создадим пользователя и группу 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

 

Этот каталог будет доступен всем аутентифицированным пользователям. Следующая команда настраивает доступ на запись/чтение для членов группы 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

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

 

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

 

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

sudo systemctl restart smb.service
sudo systemctl restart nmb.service

 

В следующих разделах мы покажем вам, как подключиться к общему ресурсу 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

 

Например, чтобы подключиться к общему ресурсу с именем andreyex на сервере Samba с IP-адресом 213.159.209.228 от имени пользователя andreyex, запустите

smbclient //213.159.209.228/andreyex -U andreyex

 

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

Enter WORKGROUP\andreyex'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

 

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

sudo mount -t cifs -o username=andreyex //213.159.209.228/andreyex /mnt/smbmount

 

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

Password for andreyex@//213.159.209.228/andreyex:  ********

 

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

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

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

 

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

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

  1. Откройте «Finder», выберите «Go» и нажмите «Connect To».
  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 в CentOS 7 и создать различные типы общих ресурсов и пользователей. Мы также показали, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

Exit mobile version