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