Содержание
- Установка и настройка Samba в Ubuntu (без Docker)
- 1. Установка Samba
- 2. Настройка конфигурации
- 3. Создайте директорию и настройте права
- 4. Добавьте пользователя Samba
- 5. Перезапустите Samba
- 6. Настройте фаервол (если используется)
- Установка Samba в Docker
- 1. Установите Docker (если не установлен)
- 2. Создайте директории
- 3. Запустите контейнер Samba
- 4. Создайте общую папку
- Проверка подключения
- Основные различия методов
Установка и настройка Samba в Ubuntu (без Docker)
1. Установка Samba
sudo apt update
sudo apt install samba -y
2. Настройка конфигурации
Отредактируйте файл /etc/samba/smb.conf
:
sudo nano /etc/samba/smb.conf
Добавьте в конец файла пример общей папки:
[shared]
comment = Общая папка
path = /srv/samba/shared
browseable = yes
read only = no
guest ok = no
valid users = @sambashare
create mask = 0660
directory mask = 0770
3. Создайте директорию и настройте права
sudo mkdir -p /srv/samba/shared
sudo groupadd sambashare
sudo chgrp sambashare /srv/samba/shared
sudo chmod 2770 /srv/samba/shared
4. Добавьте пользователя Samba
sudo useradd -M -G sambashare username
sudo smbpasswd -a username
5. Перезапустите Samba
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd
6. Настройте фаервол (если используется)
sudo ufw allow samba
Установка Samba в Docker
1. Установите Docker (если не установлен)
sudo apt install docker.io -y
sudo systemctl enable --now docker
2. Создайте директории
mkdir -p ~/samba/{config,data}
3. Запустите контейнер Samba
docker run -d \
--name samba \
-p 139:139 \
-p 445:445 \
-v ~/samba/data:/data \
-v ~/samba/config:/config \
-e "USERID=1000" \
-e "GROUPID=1000" \
-e "TZ=Europe/Moscow" \
--restart unless-stopped \
dperson/samba \
-u "username;password" \
-s "shared;/data/shared;yes;no;no;username"
4. Создайте общую папку
mkdir -p ~/samba/data/shared
chmod 777 ~/samba/data/shared # Временное упрощение прав для теста
Проверка подключения
Для любого способа проверьте доступ:
smbclient //localhost/shared -U username
Windows: \\IP-адрес-сервера\shared
Основные различия методов
Критерий | Без Docker | С Docker |
---|---|---|
Изоляция | Зависит от системы | Полная изоляция контейнером |
Обновления | Через пакетный менеджер | Обновление образа контейнера |
Конфигурация | Ручное редактирование smb.conf | Через переменные среды и параметры |
Переносимость | Зависит от системы | Легкий перенос между серверами |
Советы:
1. Для продакшена используйте SSL/TLS для Samba
2. Регулярно обновляйте пароли пользователей
3. Настройте резервное копирование конфигурации
4. Для Docker используйте docker-compose для удобства управления