# Практика 4.1 ### Задача: - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Linux - Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Windows - Добавить сервис Samba в автозагрузку OS Linux - Настрить Samba ресурс с названием share и дать права на чтение группе пользователей users, но предоставить возможность записи для группы с именем admins, а также пользователю mirea, для этого можете отредактировать файл `/etc/samba/smb.conf`. - Настройка корзины для общего ресурса (для тех кому показалось легко🙂) -- пояснить команду `smbstatus` (*продемонстрировать, пояснить результат*) -- записать вывод в файл .txt Установим sama сервер и samba-client apt install -y samba samba-client Создадим общюю папку mkdir -p /samba/share изменим права доступа на созданную папку sudo chmod -R 0755 /samba/share/ Создадим группу пользователей users groupadd users Создадим группу пользователей admins groupadd admins Создаем пользователей useradd users1 useradd mirea Добавляем пользователя в группу usermod -aG users users1 usermod -aG users mirea изменим принадлежность приватной директории chgrp admins /samba/share Зададим пароль пользователя samba smbpasswd -a users1 smbpasswd -a mirea Отконфигурируем файл /etc/samba/smb.conf следующим образом [global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no [share] path = /samba/share guest ok = no force groub = nogroup force user = nobody browsable = yes writable = yes valid users =@users, @admins read list = @users write list = @admins, mirea После внесеных изменений перезапускаем samba service smbd restart Добавление сервиса в автозагрузку systemctl enable smbd.service **Создание сетевой корзины** В конфигурационном файле /etc/samba/smb.conf прописываем секцию [Recycle] comment = Snap Directories path = /samba/recycle public = yes browseable = yes writable = yes vfs objects = recycle recycle:repository = .recycle/%U recycle:keeptree = Yes recycle:touch = Yes recycle:versions = Yes recycle:maxsize = 0 recycle:exclude = *.tmp, ~$* recycle:exclude_dir = /tmp * где: vfs objects = recycle — использовать подсистему recycle. recycle:repository — где хранить удаленные объекты. В данном примере удаленные файлы попадут в скрытый каталог .recycle к котором создастся каталог с именем пользователя, удалившего файл или папку. recycle:keeptree — удалять объекты с сохранение дерева каталогов. recycle:touch — изменить ли дату изменения файла при его перемещении в корзину. recycle:versions — при удалении файлов с совпадающими именами, добавлять номер версии. recycle:maxsize — не помещать в корзину файлы, размер которых больше заданного параметра (в байтах). В данном примере, помещать файлы любого размера. recycle:exclude — исключить файлы. recycle:exclude_dir — исключить каталог. Создаем каталог и задаем права: mkdir /data/recycle chmod 777 /data/recycle Команда smbstatus покажет вам текущие соединения к общим ресурсам сервера ![](https://i.imgur.com/YK6JwLw.png) По номеру pid процесса можно определить какой польщователь открыл файл smbstatus -u | grep 3886 ![](https://i.imgur.com/praxE39.png) ## Настройка firewall iptables Открываем порты для доступа к сервису SAMBA iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport 445 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport 139 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport 137 -j ACCEPT iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport 138 -j ACCEPT Чтобы ваши правила iptables сохранялись после перезагрузки, установите iptables-persistent package с помощью инструмента apt apt install iptables-persistent Чтобы изменения были постоянными после перезагрузки, запустите команду iptables-save: iptables-save > /etc/iptables/rules.v4 Конец.