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