Samba — это сервис, который позволяет создать сетевое хранилище, совместимое с Windows, macOS и Linux клиентами через протокол SMB/CIFS. Для организации сетевого хранилища компании необходимо установить пакет Samba, отредактировать конфигурационный файл /etc/samba/smb.conf и создать учётные записи пользователей с правами доступа.
Причины внедрения Samba для сетевого хранилища
- Совместимость между Windows, macOS и Linux системами без дополнительного ПО
- Централизованное управление доступом сотрудников к файлам и папкам
- Экономия дискового пространства за счёт единого хранилища вместо локальных копий
- Простота резервного копирования всех корпоративных данных на одном сервере
- Возможность настройки прав доступа на уровне файлов и директорий
- Низкие требования к ресурсам и простота администрирования
Пошаговая инструкция по настройке Samba сервера
- Обновите репозитории пакетов командой
sudo apt update && sudo apt upgrade -y - Установите Samba и необходимые компоненты:
sudo apt install samba samba-common smbclient cifs-utils -y - Проверьте успешность установки:
smbd --version - Создайте корневую директорию хранилища:
sudo mkdir -p /srv/samba/company_share - Установите владельца директории:
sudo chown -R nobody:nogroup /srv/samba/company_share - Установите права доступа на директорию:
sudo chmod -R 0775 /srv/samba/company_share - Создайте резервную копию оригинального конфига:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup - Откройте конфигурационный файл редактором:
sudo nano /etc/samba/smb.conf - В секции
[global]установите параметры:workgroup = WORKGROUP,netbios name = COMPANY-SERVER,server string = Samba Server %v - Добавьте строку
hosts allow = 192.168.1.0/24 127.0.0.1для ограничения доступа по IP-адресам - Добавьте в конец файла новый раздел общей папки:
[company_share] - Внутри раздела
[company_share]добавьте:path = /srv/samba/company_share - Добавьте параметр доступа:
browseable = yes - Добавьте параметр прав записи:
writable = yes - Добавьте параметр видимости:
guest ok = no - Добавьте параметр валидных пользователей:
valid users = @company_group - Сохраните файл клавишей
Ctrl+O, подтвердитеEnter, выйдитеCtrl+X - Проверьте синтаксис конфига:
sudo testparm - Создайте системного пользователя для Samba:
sudo useradd -M -s /usr/sbin/nologin samba_user - Установите пароль для пользователя:
sudo smbpasswd -a samba_user - Создайте группу для управления доступом:
sudo groupadd company_group - Добавьте пользователя в группу:
sudo usermod -aG company_group samba_user - Перезагрузите сервис Samba:
sudo systemctl restart smbd nmbd - Включите автозагрузку сервиса:
sudo systemctl enable smbd nmbd - Проверьте статус сервиса:
sudo systemctl status smbd - Убедитесь, что Samba слушает порты:
sudo netstat -tulpn | grep smbd - На клиентском компьютере откройте проводник и подключитесь к сетевой папке:
\\COMPANY-SERVER\company_share - Введите учётные данные пользователя и пароль при запросе
- Проверьте возможность создания и редактирования файлов в общей папке
Часто задаваемые вопросы
Как добавить дополнительных пользователей к общей папке? Создайте нового пользователя командой sudo useradd -M -s /usr/sbin/nologin username, установите пароль sudo smbpasswd -a username, добавьте в группу sudo usermod -aG company_group username и перезагрузите Samba.
Почему клиент не может подключиться к сетевой папке? Проверьте, что IP-адрес клиента входит в диапазон hosts allow, брандмауэр не блокирует порты 137-139 и 445, и учётные данные пользователя верны.
Как изменить размер максимального файла, который можно загрузить в общую папку? В секции [company_share] добавьте параметр max connections = 0 и strict locking = no, затем перезагрузите сервис.