Общий доступ к файлам является важной частью администрирования сервера. Это позволяет обмениваться ресурсами в сети, которые необходимы пользователям для выполнения своих задач. Одним из широко используемых программ для обмена файлами является Samba.
Samba это повторная реализация популярного протокола SMB (server message block), является стабильным и бесплатным приложением. которое позволяет обмениваться файлами и услугами печати по сети. Программное обеспечение установлено на центральном сервере Linux, с которого можно получить доступ к общим файлам как из систем Linux, так и из систем Windows.
В этом руководстве мы расскажем вам как выполняется настройка и установка сервера Samba в дистрибутивах на основе RHEL. Таких как CentOS Stream, Rocky Linux и AlmaLinux.
Шаг 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
Сохраните и закройте файл конфигурации. Как сохранить и закрыть Vim мы писали здесь.
Чтобы проверить конфигурацию, выполните команду:
$ 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
Шаг 3. Настройка доступа к общему ресурсу Samba из Windows
До этого пункты мы установили samba и настроили общую папку. Теперь все готово чтобы получить к нему удаленный доступ. Чтобы сделать это на клиенте Windows, нажмите горячие клавиши Win + R
, чтобы запустить диалоговое окно «Выполнить».
В текстовом поле введите IP-адрес сервера samba, как показано на рисунке:
\\server-ip
Появится следующее окно с надписью «Public«. Помните, что это каталог, который указывает на наш общий ресурс 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
Когда вы в этот раз получите доступ к своему серверу, вы заметите дополнительную папку «Private«. Чтобы получить доступ к папке, вам потребуется пройти аутентификацию с использованием учетных данных пользователя 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 и AlmaLinux подошло к концу.
Спасибо за то что дочитали до конца. Оставьте свои отзывы и замечания в разделе комментариев. Так же подписывайтесь на наш Дзен Канал Компьютер Для Всех.