Файловый сервер Samba в Linux для Windows: пошаговая настройка для чайников
Зачем использовать Linux Samba вместо дорогого Windows Server?
Покупка лицензий Windows Server + Client Access Licenses (CAL) для малого офиса на 20–50 сотрудников стоит сотни тысяч рублей. Бесплатный сервер на базе Ubuntu Linux + Samba выполняет те же функции сетевого файлового хранилища (SMB/CIFS) с полным разграничением прав доступа пользователей без лицензионных ограничений.
Сравнение решений:
| Параметр | Windows Server (Файловый сервер) | Ubuntu Linux + Samba |
|---|---|---|
| Стоимость лицензий | Высокая (Лицензия на ядра + CAL на каждого пользователя). | 0 рублей (Полностью бесплатно, Open Source). |
| Совместимость с Windows 10/11 | 100% нативная поддержка. | 100% нативная совместимость по протоколу SMBv2/SMBv3. |
| Требования к «железу» | Минимум 8–16 ГБ ОЗУ, частые перезагрузки. | Отлично работает даже на 2 ГБ ОЗУ и старых ПК. |
Пошаговая установка и настройка Samba на Ubuntu Server
- Шаг 1. Установка пакетов Samba:
sudo apt update sudo apt install samba samba-common-bin -y - Шаг 2. Создание структуры папок и пользователей:
Создадим общую папку
Public(доступна всем без пароля) и секретную папкуBuhgalteria:sudo mkdir -p /samba/public sudo mkdir -p /samba/buhgalteria # Выставляем права для общей папки: sudo chmod -R 0777 /samba/public # Создаем системного пользователя buhgalter и задаем пароль для Samba: sudo useradd -M -s /sbin/nologin buhgalter sudo smbpasswd -a buhgalter sudo chown -R buhgalter:buhgalter /samba/buhgalteria sudo chmod -R 0770 /samba/buhgalteria - Шаг 3. Конфигурация файла smb.conf:
Создайте резервную копию и откройте файл
/etc/samba/smb.conf:sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak sudo nano /etc/samba/smb.confВставьте в самый конец файла конфигурацию двух ресурсов:
[Public_Share] comment = Obshaya Papka path = /samba/public browseable = yes writable = yes guest ok = yes read only = no force create mode = 0777 force directory mode = 0777 [Buhgalteria] comment = Tolko dlya Buhgalterii path = /samba/buhgalteria browseable = yes writable = yes valid users = buhgalter read only = no - Шаг 4. Перезапуск службы и открытие портов:
sudo testparm sudo systemctl restart smbd nmbd sudo ufw allow samba
Как подключиться с Windows: Нажмите Win + R и введите \\IP_АДРЕС_СЕРВЕРА (например, \\192.168.1.100). Для входа в папку Buhgalteria введите логин buhgalter и пароль, который задали в команде smbpasswd.
Частые вопросы (FAQ)
Почему Windows не пускает в общую гостевую папку без пароля?
В Windows 10/11 по умолчанию заблокирован гостевой вход без пароля. Чтобы исправить это: в `gpedit.msc` перейдите в *Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция Lanman* и включите политику **'Включить небезопасные гостевые входы'**.
Чем пароль Linux (passwd) отличается от пароля Samba (smbpasswd)?
Samba использует собственную зашифрованную базу хешей NT-Hash. Поэтому для доступа к сетевым папкам пароль обязательно создается отдельной командой `sudo smbpasswd -a имя_пользователя`.
Можно ли интегрировать Samba с существующим Active Directory?
Да, пакет `winbind` и Samba позволяют бесшовно ввести Linux-сервер в домен Windows AD и раздавать права доменным группам.
Как скрыть папку, чтобы ее не видели посторонние в списке шар?
Укажите в конфигурации параметра шары значение `browseable = no` или добавьте знак доллара в конец имени ресурса: `[Secret$]`.