Update file Samba

This commit is contained in:
Administrator 2026-03-19 13:30:34 +05:00
parent 055bb6d06f
commit 8233d68413

View File

@ -7,80 +7,251 @@
---
## 🎯 Цель работы
## 🎯 Цели работы
Повысить безопасность Samba-серверов в домашней инфраструктуре при сохранении удобного доступа к медиа-ресурсам.
### Было
| Проблема | Риск |
|----------|------|
| `guest ok = yes` на всех шарах | Любой в сети имеет полный доступ |
| `map to guest = bad user` | Ошибка входа = доступ гостя |
| Права `0777` на файлы и папки | Полный контроль для всех |
| Нет разделения прав на чтение/запись | Любое устройство может удалить данные |
| Монтирование через `guest` в fstab | Пароли не требуются |
### Стало
| Решение | Защита |
|---------|--------|
| `map to guest = Never` | Гостевой доступ полностью запрещён |
| `guest ok = no` на всех шарах | Требуется авторизация |
| Права `0644`/`0755` | Запись только владельцу и группе |
| Разделение: `valid users` + `write list` | Чтение у всех, запись у админа |
| Монтирование через `credentials` | Пароли в защищённом файле |
1. Настройка безопасного доступа к Samba-шарам на серверах `media` и `games`.
2. Настройка прав на уровне файловой системы.
3. Обеспечение корректного подключения Windows и torrent-клиентов.
4. Возможность отката гостевого доступа при необходимости.
---
## 👥 Пользователи и права доступа
## 📂 Настройки шаров (шаблон)
### Учётные записи Samba (на всех серверах)
| Пользователь | Назначение | Чтение | Запись | Где используется |
|--------------|------------|--------|--------|------------------|
| `zailon` | Администратор | ✅ | ✅ | Ручное управление, Windows |
| `zevs` | Тестовый/рядовой | ✅ | ❌ | Проверка прав, ограниченный доступ |
| `qb` | Сервисный (qBittorrent) | ✅ | ✅ | Автоматическое монтирование, торренты |
### Пароли
| Пользователь | Пароль | Где хранится |
|--------------|--------|--------------|
| `zailon` | *(установлен вручную)* | В памяти админа |
| `zevs` | *(установлен вручную)* | В памяти админа |
| `qb` | `Z@p1sk@` | `/etc/smb-creds/qb` на torrent |
> ⚠️ **Важно:** При смене пароля обновляйте:
> 1. Samba: `sudo smbpasswd <username>`
> 2. Файл credentials: `/etc/smb-creds/qb`
> 3. Перемонтируйте: `sudo mount -a`
---
## ⚙️ Конфигурация Samba
### 1. Глобальные настройки (`/etc/samba/smb.conf`)
**Файл:** `/etc/samba/smb.conf`
**Серверы:** `media` (192.168.1.203), `games` (192.168.1.207)
Пример для шары `[Films]`:
```ini
[global]
workgroup = LATV4513
server role = standalone server
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
[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
```
---
## 🗂️ Список всех шаров
| Сервер | Шара | Путь | Назначение |
|--------|------------|---------------------|----------------|
| 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/ | Игры |
---
## 📁 Права на файловой системе (Linux)
### На `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 chmod -R 775 /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/
sudo find /mnt/video/ /mnt/audio/ /mnt/books/ /mnt/abooks/ -type f -exec chmod 664 {} \;
```
### На `games`:
```bash
sudo chown -R zailon:qb /mnt/games/
sudo chmod -R 775 /mnt/games/
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@
```
Создание и защита:
```bash
sudo mkdir -p /etc/smb-creds
sudo nano /etc/smb-creds/qb
sudo chmod 600 /etc/smb-creds/qb
```
Монтирование в `/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
```
Применение:
```bash
sudo mount -a
```
### Windows (BunkerZ и другие ПК)
```cmd
net use \\192.168.1.203\Films /user:zailon
```
Или через проводник: `\\192.168.1.203\Films`
Логин: `zailon`, пароль: ваш пароль, ✅ запомнить учётные данные
Очистка кэша:
```cmd
net use * /delete /yes
net stop workstation /y
net start workstation
```
---
## ✅ Проверочные команды
### На серверах:
```bash
pdbedit -L
testparm
systemctl status smbd --no-pager | head -10
```
### На 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:
```cmd
net use
dir \\192.168.1.203\Films
```
---
## 🔄 Откат изменений
На серверах (`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 |
| Гостевой доступ | ❌ Запрещён |
| Запись без авторизации | ❌ Невозможна |
---
## 🔜 Следующие шаги
| Приоритет | Задача | Статус |
|-----------|--------|--------|
| 🔴 1 | Firewall (Proxmox + VM) | ⏳ Ожидает |
| 🔴 2 | SSH (ключи, запрет root) | ⏳ Ожидает |
| 🟡 3 | Доступ извне (reverse proxy) | ⏳ Ожидает |
| 🟢 4 | VLAN (сегментация сети) | ⏳ Ожидает |
| 🟢 5 | Автоматизация бекапов | ⏳ Ожидает |
---
## 📞 Контакты
| Ресурс | Значение |
|--------|----------|
| Домен | 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
**Статус:** ✅ Завершено
---
## 🎉 Результат
Samba полностью защищена:
✅ Пользователи созданы
✅ Гостевой доступ закрыт
✅ Запись только для авторизованных
✅ Windows подключается
✅ qBittorrent пишет в шары
✅ Права настроены
# === БЕЗОПАСНОСТЬ ===
map to guest = Never
usershare allow guests = no
create mask = 0644
directory mask = 0755
force create mode = 0644
force directory mode = 0755