Простой Samba-сервер в CentOS Stream

Краткая инструкция по настройке папок общего доступа в локальной сети для Windows-машин на примере ОС CentOS Stream 8.3.

Устанавливаем Самбу

# yum install samba

Создадим каталог /home/smbshare, а в нём — ещё 2 каталога: /home/smbshare/ro_folder — здесь будут храниться файлы с правами только для чтения и /home/smbshare/rw_folder — файлы с правами для чтения и записи.

# mkdir /home/smbshare /home/smbshare/{ro_folder,rw_folder}

Зададим этим двум каталогам соответствующие права:

# chmod 755 /home/smbshare/ro_folder/
# chmod 777 /home/smbshare/rw_folder/

Теперь переименуем файл /etc/samba/smb.conf в smb.conf.old, созданный установщиком самбы по умолчанию, чтобы сохранить его на всякий случай и создадим новый

# mv /etc/samba/smb.conf /etc/samba/smb.conf.old
# touch /etc/samba/smb.conf

откроем его

# vi /etc/samba/smb.conf

и впишем в него такие строчки:

[GLOBAL]
workgroup = VIRTUAL
security = USER
available = Yes
browseable = Yes
server string = MyServer
netbios name = SambaServer

[readonly]
path = /home/smbshare/ro_folder
read only = Yes
guest ok = No

[rw]
path = /home/smbshare/rw_folder
valid users = @smbgroup
guest ok = No
read only = No

В секции [rw] в параметре valid users указываются группы или пользователи, которые имеют доступ к этому каталогу.

Затем проверим его на корректность перед запуском служб Самбы

# testparm /etc/samba/smb.conf

или

# # testparm -a

Для доступа к гостевой папке без логина и пароля (если такая нужна) необходимо создать каталог, к примеру /home/smbshare/public и задать права 777 для чтения и записи в неё, и в разделе [GLOBAL] дописать строчку

map to user = Bad Password

и также создать новую секцию [public], в которой будут указаны следующие параметры:

[public]
path = /home/smbshare/public
read only = No
writeable = Yes
guest ok = Yes

Далее переходим к созданию групп и пользователей Самбы.

Создадим группу smbgroup

# groupadd smbgroup

и пользователя smbuser

# useradd smbuser

Включаем пользователя smbuser в группу smbgroup

# usermod -aG smbgroup smbuser

и задаём для него пароль для Самбы

# smbpasswd smbuser

или

# smbpasswd -a smbuser

Теперь пропишем правила в FirewallD

# firewall-cmd --add-service=samba --zone=public --permanent
# firewall-cmd --reload

и отключим SELINUX — в файле /etc/selinux/config изменим значение SELINUX

SELINUX=disabled

На всякий случай перезагрузим машину

# shutdown -r now

После этого запускаем необходимые службы

# systemctl start smb
# systemctl start nmb

и включаем их в автозагрузку

# systemctl enable smb.service
# systemctl enable nmb.service

На этом настройка Samba-сервера закончена. Можно с других машин в сети открывать \\SambaServer, ввести логин и пароль пользователя Самбы и в результате будут отображены ресурсы сервера.

Добавить комментарий

Ваш адрес email не будет опубликован.