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

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

3 Января 2020 | CentOS

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

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

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

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

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

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

Shares:

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

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

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


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

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


sudo yum install samba samba-client


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


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


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


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

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


firewall-cmd --permanent --zone=public --add-service=sambafirewall-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

Чтобы создать нового пользователя с именем 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/joshsudo 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 sadminsudo 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

[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 smb.servicesudo 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


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


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. Откройте «Файлы» и нажмите «Другие места» на боковой панели.
  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.


    Комментарии

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

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