Как настроить сервер Samba в RHEL, Rocky Linux и AlmaLinux

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

Samba это повторная реализация популярного протокола SMB (server message block), является стабильным и бесплатным приложением. которое позволяет обмениваться файлами и услугами печати по сети. Программное обеспечение установлено на центральном сервере Linux, с которого можно получить доступ к общим файлам как из систем Linux, так и из систем Windows.

В этом руководстве мы расскажем вам как выполняется настройка и установка сервера Samba в дистрибутивах на основе RHEL. Таких как CentOS StreamRocky Linux и AlmaLinux.

Шаг 1: Установка Samba в Linux

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

$ sudo dnf install samba samba-common samba-client

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

Эта команда устанавливает указанные пакеты вместе с зависимостями, как показано на выходных данных. После завершения установки вы получите сводную информацию о всех установленных пакетах.

Установка Samba Завершена
Установка Samba Завершена

Шаг 2. Создание и настройка общих ресурсов Samba

Как только все пакеты samba будут установлены, следующим шагом будет настройка общих ресурсов samba. Общий ресурс samba — это просто каталог, который будет использоваться совместно в клиентских системах сети.

Далее мы собираемся создать общий ресурс samba с именем /data в каталоге /srv/tecmint/.

$ sudo mkdir -p /srv/tecmint/data

Теперь требуется назначить разрешения и права собственности следующим образом.

$ sudo chmod -R 755 /srv/tecmint/data
$ sudo chown -R nobody:nobody /srv/tecmint/data
$ sudo chcon -t samba_share_t /srv/tecmint/data

Создание Общего каталога Samba
Создание Общего каталога Samba

Далее потребуется выполнить некоторые изменения в файле конфигурации smb.conf. Он кстати и является основным файлом конфигурации Samba. Но прежде чем мы это сделаем, мы создадим резервную копию файла, переименовав его с другим расширением файла.

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Далее мы создадим новый файл конфигурации.

$ sudo vim /etc/samba/smb.conf

Теперь мы определим политику в отношении того, кто может получить доступ к общему ресурсу samba. Для этого требуется добавить строки, указанные в файле конфигурации.

[global]
workgroup = WORKGROUP server string = Samba Server %v
netbios name = rocky-8
security = user
map to guest = bad user
dns proxy = no
ntlm auth = true


[Public]
path = /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no

Сохраните и закройте файл конфигурации. Как сохранить и закрыть Vim мы писали здесь.

Чтобы проверить конфигурацию, выполните команду:

$ sudo testparm

Проверка Конфигурации Samba
Проверка Конфигурации Samba

Затем запустите и включите службы Samba, как показано на ниже.

$ sudo systemctl start smb
$ sudo systemctl enable smb
$ sudo systemctl start nmb
$ sudo systemctl enable nmb

Обязательно убедитесь, что службы smb и nmb запущены.

$ sudo systemctl status smb
$ sudo systemctl status nmb

Проверка Статуса службы smb и nmb
Проверка Статуса службы smb и nmb

Шаг 3. Настройка доступа к общему ресурсу Samba из Windows

До этого пункты мы установили samba и настроили общую папку. Теперь все готово чтобы получить к нему удаленный доступ. Чтобы сделать это на клиенте Windows, нажмите горячие клавиши Win + R, чтобы запустить диалоговое окно «Выполнить».

В текстовом поле введите IP-адрес сервера samba, как показано на рисунке:

\\server-ip

Доступ к общему ресурсу Samba из Windows
Доступ к общему ресурсу Samba из Windows

Появится следующее окно с надписью «Public«. Помните, что это каталог, который указывает на наш общий ресурс samba в каталоге /srv/tecmint/data.

Доступ к общему каталогу Samba в Windows
Доступ к общему каталогу Samba в Windows

В настоящее время наш каталог пуст, так как мы не создали никаких файлов. Итак, мы вернемся к нашему терминалу и создадим несколько файлов в общем каталоге samba.

$ cd /srv/tecmint/data
$ sudo touch file{1..3}.txt

Теперь мы перейдем в папку «Public«, в которой будут отображаться файлы, созданные нами ранее.

Доступ к файлам в расширенной папку Samba
Доступ к файлам в расширенной папку Samba

Отлично! Нам успешно удалось получить доступ к нашей общей папке samba. Однако наш каталог доступен любому, и каждый может редактировать и удалять файлы по своему усмотрению. А это не рекомендуется, особенно если вы планируете размещать конфиденциальные файлы.

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

Шаг 4: Безопасный Общий каталог Samba

Первое что мы сделаем это создадим нового пользователя samba.

$ sudo useradd smbuser

Теперь мы настроим пароль для пользователя samba. Это пароль, который будет использоваться при аутентификации.

$ sudo smbpasswd -a smbuser

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

Далее мы создадим новую группу для нашего безопасного общего ресурса samba и добавим туда нового пользователя samba.

$ sudo groupadd smb_group
$ sudo usermod -g smb_group smbuser

После этого создайте еще один общий ресурс samba, к которому будет обеспечен безопасный доступ. В нашем случае мы создали другой каталог по тому же пути, что и первый

$ sudo mkdir -p /srv/tecmint/private

Затем настройте права доступа к файлам для общего ресурса samba

$ sudo chmod -R 770 /srv/tecmint/private
$ sudo chcon -t samba_share_t /srv/tecmint/private
$ sudo chown -R root:smb_group /srv/tecmint/private

Еще раз откройте файл конфигурации Samba.

$ sudo vim /etc/samba/smb.conf

Добавьте эти строки, чтобы обеспечить общий доступ к samba.

[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes

Сохраните изменения и выйдите.

Осталось, перезапустите все службы samba. ведите команды ниже.

$ sudo systemctl restart smb
$ sudo systemctl restart nmb

Когда вы в этот раз получите доступ к своему серверу, вы заметите дополнительную папку «Private«. Чтобы получить доступ к папке, вам потребуется пройти аутентификацию с использованием учетных данных пользователя Samba. Укажите имя пользователя и пароль, который вы создали в предыдущем шаге, и нажмите «ОК«.

Аутентификация пользователя Samba
Аутентификация пользователя Samba

 

Защищенный паролем Общий каталог Samba 
Защищенный паролем Общий каталог Samba

Шаг 5. Настройка доступа к общему ресурсу Samba из клиента Linux

Чтобы получить доступ к общей папке из клиента Linux, сначала убедитесь, что установлен пакет клиента Samba.

$ sudo dnf install samba-client

Затем используйте команду smbclient следующим образом

# smbclient ‘\2.168.43.121\private’ -U smbuser

Доступ к общему ресурсу Samba из Linux
Доступ к общему ресурсу Samba из Linux

Заключение

Вот и все, данное руководство по настройке Samba в RHELCentOS StreamRocky Linux и AlmaLinux подошло к концу.

Спасибо за то что дочитали до конца. Оставьте свои отзывы и замечания в разделе комментариев. Так же подписывайтесь на наш Дзен Канал Компьютер Для Всех.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.