Как настроить сервер 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 и . АльмаЛинукс. Мы будем очень признательны за ваши отзывы об этом руководстве.