Replace Samba.md

This commit is contained in:
Administrator 2026-03-19 17:42:30 +05:00
parent e077001be2
commit 683fd0c6e0

View File

@ -1,103 +1,96 @@
# 🔒 Samba Security Hardening
**Дата завершения:** 19 марта 2026
**Инфраструктура:** Proxmox (LXC + Docker)
**Домен:** zailon.ru
**Админ:** Zailon (ноутбук BunkerZ)
📚 **Полная документация по безопасной настройке Samba в домашней инфраструктуре**
---
## 🎯 Цели работы
## 📑 Содержание
1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`.
2. Настройка прав на уровне файловой системы.
3. Обеспечение корректного подключения Windows и torrent-клиентов.
4. Возможность отката гостевого доступа при необходимости.
- [🎯 Цели](#-цели)
- [📂 Шары](#-шары)
- [📁 Права файловой системы](#-права-файловой-системы)
- [🖥️ Клиенты](#-клиенты)
- [✅ Проверка](#-проверка)
- [🔄 Откат](#-откат)
- [📊 Статистика](#-статистика)
- [🔜 Дальше](#-дальше)
- [📞 Контакты](#-контакты)
---
## 📂 Настройки шаров (шаблон)
## 🎯 Цели
Пример для шары `[Films]`:
- 🔐 Убрать гостевой доступ
- 👤 Ввести авторизацию пользователей
- 📁 Настроить права Linux
- 💻 Обеспечить работу Windows + Docker (qBittorrent)
---
## 📂 Шары
### 📺 Media сервер (`192.168.1.203`)
```ini
[Films]
comment = Films
path = /mnt/video/films
browseable = yes
read only = no
guest ok = no
valid users = zailon, zevs, qb
write list = zailon, qb
create mask = 0644
directory mask = 0755
comment = Films Library
path = /mnt/video/films
browseable = yes
read only = yes
valid users = @mediaread
write list = zailon qb
force group = mediaread
create mask = 0644
directory mask = 0755
```
---
## 🗂️ Список всех шаров
### 🎮 Games сервер (`192.168.1.207`)
| Сервер | Шара | Путь | Назначение |
|--------|------------|---------------------|----------------|
| media (192.168.1.203) | Films | /mnt/video/films | Фильмы |
| media (192.168.1.203) | Mult | /mnt/video/mult | Мультфильмы |
| media (192.168.1.203) | Anime | /mnt/video/anime | Аниме |
| media (192.168.1.203) | Serial | /mnt/video/serial | Сериалы |
| media (192.168.1.203) | Mserials | /mnt/video/mserials| Мини-сериалы |
| media (192.168.1.203) | Doc | /mnt/video/doc | Документы |
| media (192.168.1.203) | xxx | /mnt/video/xxx | 18+ контент |
| media (192.168.1.203) | Ztube | /mnt/video/ztube | YouTube архив |
| media (192.168.1.203) | Show | /mnt/video/show | Шоу |
| media (192.168.1.203) | Abook | /mnt/abooks | Аудиокниги |
| media (192.168.1.203) | Music | /mnt/audio/music | Музыка |
| media (192.168.1.203) | Books | /mnt/books | Книги |
| games (192.168.1.207) | Games | /mnt/games/ | Игры |
```ini
[Games]
comment = Games Library
path = /mnt/games/
browseable = yes
read only = yes
valid users = @mediaread
write list = zailon qb
force group = mediaread
create mask = 0644
directory mask = 0755
```
---
## 📁 Права на файловой системе (Linux)
## 📁 Права файловой системы
### На `media`:
### Media
```bash
sudo chown -R zailon:qb /mnt/video/
sudo chown -R zailon:qb /mnt/audio/
sudo chown -R zailon:qb /mnt/books/
sudo chown -R zailon:qb /mnt/abooks/
# Владелец и группа
sudo chown -R zailon:mediaread /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/
sudo chmod -R 775 /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/
# Папки
sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type d -exec chmod 775 {} \;
# Файлы
sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \;
```
### На `games`:
### Games
```bash
sudo chown -R zailon:qb /mnt/games/
sudo chmod -R 775 /mnt/games/
sudo chown -R zailon:mediaread /mnt/games/
sudo find /mnt/games/ -type d -exec chmod 775 {} \;
sudo find /mnt/games/ -type f -exec chmod 664 {} \;
```
### Итоговые права
| Объект | Владелец | Группа | Права |
|---------|----------|--------|----------------|
| Папки | zailon | qb | drwxrwxr-x 775 |
| Файлы | zailon | qb | -rw-rw-r-- 664 |
---
## 🖥️ Настройка клиентов
## 🖥️ Клиенты
### Сервер torrent (192.168.1.211)
**Файл учётных данных** (`/etc/smb-creds/qb`):
```bash
username=qb
password=Z@p1sk@
```
Создание и защита:
### 🧲 Torrent (`192.168.1.211`)
```bash
sudo mkdir -p /etc/smb-creds
@ -105,11 +98,11 @@ sudo nano /etc/smb-creds/qb
sudo chmod 600 /etc/smb-creds/qb
```
Монтирование в `/etc/fstab`:
#### `/etc/fstab`
```ini
//192.168.1.203/Films /mnt/video/films cifs rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,vers=3.0,credentials=/etc/smb-creds/qb 0 0
//192.168.1.207/Games /mnt/games cifs rw,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,vers=3.0,credentials=/etc/smb-creds/qb 0 0
//192.168.1.203/Films /mnt/video/films cifs rw,credentials=/etc/smb-creds/qb,uid=1000,gid=1003,file_mode=0644,dir_mode=0755,vers=3.0 0 0
//192.168.1.207/Games /mnt/games cifs rw,credentials=/etc/smb-creds/qb,uid=1000,gid=1003,file_mode=0644,dir_mode=0755,vers=3.0 0 0
```
Применение:
@ -118,15 +111,16 @@ sudo chmod 600 /etc/smb-creds/qb
sudo mount -a
```
### Windows (BunkerZ и другие ПК)
---
### 🪟 Windows
```cmd
net use \\192.168.1.203\Films /user:zailon
net use \\\\192.168.1.203\\Films /user:zailon
net use \\\\192.168.1.207\\Games /user:zailon
```
Или через проводник: `\\192.168.1.203\Films`
Логин: `zailon`, пароль: ваш пароль, ✅ запомнить учётные данные
Очистка кэша:
Очистка:
```cmd
net use * /delete /yes
@ -136,108 +130,90 @@ net start workstation
---
## ✅ Проверочные команды
## ✅ Проверка
### На серверах:
### Серверы
```bash
pdbedit -L
testparm
systemctl status smbd --no-pager | head -10
getent group mediaread
```
### На torrent:
### Torrent
```bash
mount | grep cifs
cat /etc/smb-creds/qb
ls -la /etc/smb-creds/qb
touch /mnt/video/films/test.txt && rm /mnt/video/films/test.txt
```
### На Windows:
### Docker test
```cmd
net use
dir \\192.168.1.203\Films
```bash
docker exec qbittorrent touch /mnt/video/films/test.txt
docker exec qbittorrent rm /mnt/video/films/test.txt
```
---
## 🔄 Откат изменений
## 🔄 Откат
На серверах (`media`, `games`):
```bash
sudo nano /etc/samba/smb.conf
```
В `[global]`:
```ini
map to guest = bad user
usershare allow guests = yes
```
В каждой шаре:
⚠️ **Не рекомендуется**
```ini
guest ok = yes
valid users = (удалить)
write list = (удалить)
```
Перезапуск:
```bash
sudo testparm
sudo systemctl restart smbd nmbd
```
На torrent (`/etc/fstab`):
```bash
sudo mount -a
```
---
## 📊 Итоговая статистика
## 📊 Статистика
| Параметр | Значение |
|-----------|----------|
| Серверов настроено | 2 (media, games) |
| Шаров защищено | 13 |
| Пользователей создано | 3 (zailon, zevs, qb) |
| Точек монтирования на torrent | 14 |
| Гостевой доступ | ❌ Запрещён |
| Запись без авторизации | ❌ Невозможна |
|----------|----------|
| Серверов | 2 |
| Шаров | 13 |
| Пользователей | 3 |
| Групп | 1 (`mediaread`) |
| Гостевой доступ | ❌ |
---
## 🔜 Дальше
- 🔴 Firewall
- 🔴 SSH hardening
- 🟡 Reverse proxy
- 🟢 VLAN
- 🟢 Backups
---
## 📞 Контакты
| Ресурс | Значение |
|--------|----------|
| Параметр | Значение |
|----------|----------|
| Домен | zailon.ru |
| Админ-ноутбук | BunkerZ |
| Пользователь | zailon |
| Сеть | 192.168.1.0/24 |
| Сервер media | 192.168.1.203 |
| Сервер games | 192.168.1.207 |
| Сервер torrent | 192.168.1.211 |
**Документ создан:** 19 марта 2026
**Статус:** ✅ Завершено
| VPN | 192.168.45.0/24 |
| Media | 192.168.1.203 |
| Games | 192.168.1.207 |
| Torrent | 192.168.1.211 |
---
## 🎉 Результат
Samba полностью защищена:
✅ Пользователи созданы
✅ Гостевой доступ закрыт
✅ Запись только для авторизованных
✅ Гостевой доступ отключён
✅ Доступ только по пользователям
✅ Права корректны
✅ Docker пишет в шару
✅ Windows подключается
✅ qBittorrent пишет в шары
✅ Права настроены
---
> 💡 README оптимизирован под GitHub: есть якоря, навигация и чистая структура