Как установить и настроить Samba в CentOS 7
Как установить и настроить Samba в CentOS 7
How to Install and Configure Samba on 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.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
Чтобы создать нового пользователя с именем 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
Этот каталог будет доступен всем аутентифицированным пользователям. Следующая команда настраивает доступ на запись / чтение для членов sambashare
группы в /samba/users
каталоге:
sudo chmod 2770 /samba/users
Конфигурация акций Samba
Откройте файл конфигурации Samba и добавьте разделы:
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
[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.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
Например, чтобы подключиться к общему ресурсу с именем 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.
- Откройте «Файлы» и нажмите «Другие места» на боковой панели.
- В поле «Подключение к серверу» введите адрес общей папки Samba в следующем формате
smb://samba_hostname_or_server_ip/sharename
. - Нажмите «Подключиться» и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Файлы на сервере Samba будут показаны.
Подключение к Samba Share из macOS
В macOS вы можете получить доступ к общим ресурсам Samba либо из командной строки, либо с помощью стандартного менеджера файлов MacOS Finder. Следующие шаги показывают, как получить доступ к общему ресурсу с помощью Finder.
- Откройте «Finder», выберите «Go» и нажмите «Connect To».
- В поле «Подключиться к» введите адрес общего ресурса Samba в следующем формате
smb://samba_hostname_or_server_ip/sharename
.
- Нажмите «Подключиться» и появится следующий экран:
- Выберите «Зарегистрированный пользователь», введите имя пользователя и пароль Samba и нажмите «Подключиться».
- Файлы на сервере Samba будут показаны.
Подключение к общему ресурсу Samba из Windows
Пользователи Windows также могут подключаться к общему ресурсу Samba как из командной строки, так и из графического интерфейса. В приведенных ниже действиях показано, как получить доступ к общему ресурсу с помощью проводника Windows.
- Откройте проводник и в левой панели щелкните правой кнопкой мыши на «Этот компьютер».
- Выберите «Выбрать пользовательское сетевое расположение» и нажмите «Далее».
- В поле «Интернет или сетевой адрес» введите адрес общего ресурса Samba в следующем формате
\\samba_hostname_or_server_ip\sharename
.
- Нажмите «Далее», и вам будет предложено ввести учетные данные, как показано ниже:
- В следующем окне вы можете ввести собственное имя для сетевого расположения. По умолчанию будет выбран сервер Samba.
- Нажмите «Далее», чтобы перейти к последнему экрану мастера настройки соединения.
- Нажмите «Готово», и файлы на сервере Samba будут показаны.
Вывод
Из этого руководства вы узнали, как установить сервер Samba в CentOS 7 и создать различные типы общих пользователей и пользователей. Мы также показали, как подключиться к серверу Samba с устройств Linux, macOS и Windows.
Комментарии
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.