# LINUX samba **Практическая работа_3** Установка и настройка файлового сервера Sambа в корпоративной инфраструктуре на базе Linux Задача: Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Linux Получить доступ к папкам и файлам находящимся на файловом сервере Linux, клиентом Windows ‘*’ - усложненное задание (настроить firewall iptables) ‘**’ - для опытных пользователей (настройка корзины для общего ресурса) 2. Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Прежде всего следует обновить локальную базу пакетов: sudo apt-get update Далее установите пакеты из главного репозитория: sudo apt-get install -y samba samba-client Создайте резервную копию файла конфигурации Samba: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ: sudo mkdir -p /samba/public Перейдите к этому каталогу и измените режим доступа и владельца: cd /samba sudo chmod -R 0755 public Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей: sudo mkdir /samba/private Создайте группу пользователей, которые будут иметь доступ к приватным данным: sudo groupadd smbgrp Создайте нужных пользователей с помощью команды useradd: sudo useradd user1 Добавьте созданных пользователей в группу: sudo usermod -aG smbgrp user1 Измените группу, которой принадлежит приватная директория: sudo chgrp smbgrp /samba/private Задайте пароль, с помощью которого пользователь будет подключаться к каталогу: sudo smbpasswd -a user1 Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano: sudo nano /etc/samba/smb.conf Замените содержимое файла на следующие строки: [global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no [public] path = /samba/public guest ok = yes force user = nobody browsable = yes writable = yes [private] path = /samba/private valid users = @smbgrp guest ok = no browsable = yes writable = yes Сохраните внесенные изменения, нажав CTRL+X. Значения параметров выше: global - раздел с общими настройками для Samba сервера workgroup - рабочая группа Windows, WORKGROUP - значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно security - режим безопасности, значение user означает аутентификацию по логину и паролю map to guest - задает способ обработки запросов, bad user - запросы с неправильным паролем будут отклонены, если такое имя пользователя существует wins support - включить или выключить поддержку WINS dns proxy - возможность запросов к DNS public - название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории path - полный путь до общего каталога browsable - отображение каталога в сетевом окружении writable - использование каталога на запись, инверсия read only guest ok - авторизация без пароля force user - пользователь по умолчанию valid users - список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей Проверить настройки в smb.conf можно с помощью команды: testparm -s Чтобы изменения вступили в силу, перезапустите сервис: sudo service smbd restart 3. ‘*’ Нужно настроить firewall iptables, открыв порты, которые использует SAMBA. Настоятельно рекомендую разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. ``` iptables -A INPUT -p tcp -m tcp --dport 445 –s 10.0.0.0/24 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 139 –s 10.0.0.0/24 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 137 –s 10.0.0.0/24 -j ACCEPT iptables -A INPUT -p udp -m udp --dport 138 –s 10.0.0.0/24 -j ACCEPT Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. Для это установим пакет iptables-persistent: apt-get install iptables-persistent ``` ______________________________ необходимо установить дополнительный пакет для iptables. Ни скрипт, ни запуск вручную не подходит. Есть пакет, который работает штатно. Проверить актуальные правила iptables можно командой: iptables -L ![](https://i.imgur.com/HTacqg3.jpg) ![](https://i.imgur.com/rPlk7iu.jpg) ![](https://i.imgur.com/SZeAwu2.jpg) ![](https://i.imgur.com/yfNA5wV.jpg) ![](https://i.imgur.com/Z8gcHB7.jpg) ![](https://i.imgur.com/pcf0T0C.jpg) ![](https://i.imgur.com/RUsf1Zx.jpg) ![](https://i.imgur.com/Fmp1uaf.jpg) ![](https://i.imgur.com/Ex2y6tr.jpg) ![](https://i.imgur.com/K7OTxp1.jpg) ![](https://i.imgur.com/N0y7Gji.jpg)