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

Как установить сервер Samba в RHEL, CentOS и Fedora


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

Samba также называется сетевой файловой системой и может быть установлена в операционных системах Linux/Unix. Samba сама по себе представляет собой клиент-серверный протокол SMB (блок сообщений сервера) и CIFS (общая файловая система Интернета). ).

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

В этом руководстве объясняется, как установить Samba Server (файловый сервер) в системах RHEL, CentOS Stream и Fedora, а также также мы узнаем, как настроить его для обмена файлами по сети с использованием протокола SMB, а также увидим, как создавать и добавлять системных пользователей в базу данных пользователей Samba.

Для демонстрации мы используем систему RHEL 8 с именем хоста tecmint и IP-адресом 192.168.43.121.

Установите и настройте Samba в RHEL

Чтобы начать работу с samba, вам необходимо установить основные пакеты samba и пакет samba-client, как показано:

dnf install samba samba-common samba-client 

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

mkdir -p /srv/tecmint/data
chmod -R 755 /srv/tecmint/data
chown -R  nobody:nobody /srv/tecmint/data
chcon -t samba_share_t /srv/tecmint/data

Далее мы собираемся настроить общий каталог Samba в файле smb.conf, который является основным файлом конфигурации Samba.

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
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

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

Затем проверьте конфигурацию Samba на наличие ошибок.

testparm

Если все в порядке, обязательно запустите, включите и проверьте состояние демонов Samba.

systemctl start smb
systemctl enable smb
systemctl start nmb
systemctl enable nmb
systemctl status smb
systemctl status nmb

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

Чтобы получить доступ к общему ресурсу Samba с компьютера Windows, нажмите клавишу с логотипом Windows + R, чтобы открыть диалоговое окно Выполнить, и введите IP-адрес Samba. сервер, как показано.

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

Каталог «Public» пуст, поскольку мы не создали никаких файлов в общем ресурсе Samba, давайте создадим несколько файлов с помощью следующей команды.

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

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

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

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

Безопасный общий каталог Samba в RHEL

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

useradd smbuser
smbpasswd -a smbuser

Затем создайте новую группу и добавьте в нее нового пользователя Samba.

sudo groupadd smb_group
sudo usermod -g smb_group smbuser

После этого создайте еще один безопасный общий каталог Samba для безопасного доступа к файлам пользователей Samba.

mkdir -p /srv/tecmint/private
chmod -R 770 /srv/tecmint/private
chcon -t samba_share_t /srv/tecmint/private
chown -R root:smb_group /srv/tecmint/private

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

vi /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, на этот раз вы увидите дополнительный «частный» каталог. Чтобы получить доступ к этому каталогу, вам потребуется пройти аутентификацию с использованием учетных данных пользователя Samba, как показано.

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

dnf install samba-client 
smbclient ‘\2.168.43.121\private’ -U smbuser

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