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

12 set 2022 7 min di lettura
Как установить и настроить Samba на CentOS 7 Linux
Indice dei contenuti

Введение

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

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

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

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

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

Акции:

  • пользователи: этот общий ресурс будет доступен с разрешениями на чтение/запись для всех пользователей.
  • alice — этот общий ресурс будет доступен только пользователям alice и sadmin с разрешениями на чтение/запись.

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

Предпосылки

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

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

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

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

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

ssh nome_utente@IP_DEL_SERVER

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

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установите Samba на CentOS 7

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, а затем установим пароль пользователя с помощью утилиты smbpasswd.

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

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

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

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

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

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

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

sudo mkdir /samba/alice
sudo chown alice:sambashare /samba/alice

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

sudo chmod 2770 /samba/alice

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

sudo smbpasswd -a alice

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

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

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

sudo smbpasswd -e alice
Enabled user alice.

Чтобы создать другого пользователя, повторите ту же процедуру, что и для создания пользователя alice.

Далее давайте создадим пользователя и группу 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 и добавьте разделы, необходимые для корректной работы.

В этом уроке мы будем использовать редактор nano. Вы можете использовать любой другой редактор, например Vim, установленный по умолчанию в CentOS.

sudo yum install nano

Откройте следующий файл конфигурации:

sudo nano /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

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

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

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

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

После этого перезапустите службы Samba с помощью:

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

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

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

smbclient //192.168.222.222/alice -U alice

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

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

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

sudo mount -t cifs -o username=alice //192.168.222.222/alice /mnt/smbmount

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

Password for alice@//192.168.222.222/alice: ********

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

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

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

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

В macOS вы можете получить доступ к общим ресурсам Samba из командной строки или с помощью средства поиска файлового менеджера macOS по умолчанию. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью 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 на CentOS 7 и как создавать различные типы пользователей и общих ресурсов. Мы также показали вам, как подключиться к серверу Samba с устройств Linux, macOS и Windows.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.