Краткая инструкция по настройке папок общего доступа в локальной сети для 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, ввести логин и пароль пользователя Самбы и в результате будут отображены ресурсы сервера.