Поиск по сайту:

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


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

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

В этом руководстве мы расскажем вам, как установить Сервер Samba в дистрибутивах на базе RHEL, таких как CentOS Stream, Rocky Linux и АлмаЛинукс.

Шаг 1. Установите Samba в Linux

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

sudo dnf install samba samba-common samba-client 

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

Шаг 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

Далее мы собираемся внести некоторые настройки в файл конфигурации 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

Сохраните и выйдите из файла конфигурации.

Чтобы проверить сделанные настройки, выполните команду:

sudo testparm

Затем запустите и включите демоны 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

Чтобы разрешить доступ к общему ресурсу Samba из удаленных систем Windows, вам необходимо открыть протокол Samba на брандмауэре.

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

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

На данный момент мы установили samba и настроили общий ресурс Samba. Теперь мы готовы получить к нему удаленный доступ. Чтобы сделать это в клиенте Windows, нажмите клавишу с логотипом Windows + R, чтобы открыть диалоговое окно Выполнить.

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

\\server-ip

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

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

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

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

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

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

Шаг 4. Защита общего каталога Samba

Сначала мы создадим нового пользователя Samba.

sudo useradd smbuser

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

sudo smbpasswd -a smbuser

Далее мы создадим новую группу для нашей безопасной общей папки 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

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

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

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

sudo dnf install samba-client 

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

smbclient ‘\2.168.43.121\private’ -U smbuser

На этом завершается данное руководство по настройке Samba на RHEL, CentOS Stream, Rocky Linux и . АльмаЛинукс. Мы будем очень признательны за ваши отзывы об этом руководстве.