# 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










