---
# System prepended metadata

title: Практика 4.1

---

# Практика 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

Конец.

