Samba — файловый сервер, установка и настройка

26. 04. 2016

Samba — свободное программное обеспечение под лицензией GPL. Работает по протоколу  SMB/CIFS, реализуя доступ к файлам и принтерам на различных операционных системах: Windows, GNU/Linux, BSD, Mac OS X. Использует серверную и клиентскую часть. Эта программа очень популярна, является простой и одновременно сложной, сложной для новичков.

Samba - установка и настройка

Установка Samba:

Ubuntu: apt-get install samba
ArchLinux: pacman -S samba

На этом этапе не должно возникнуть сложностей, описывать все варианты установки на различные дистрибутивы нету смысла.

Настройка Samba:

Конфигурационный файл - /etc/samba/smb.conf. Самба является очень гибким сервером, поэтому конфиги могут отличаться по объему, как следствие выполняемых функций. В данном примере рассмотрим самый простой вариант настройки.

Простой пример настройки:

[global]
workgroup = WORKGROUP
security = user
os level = 75
domain master = no
[tmp]
comment = Public
path = /home/public
read only = no

Разберем более подробно:

  • [global] и [tmp] — это так называемые секции:
  • workgroup — Название рабочей группы, для Windows стандартно: «WORKGROUP».
  • security — Режим авторизации пользователей. Более детально о данной директиве в следующей статье.
  • os level — Приоритет самбы над другими компьютерами в сети.
  • domain master - При включении опции, требует имя домена, идентифицирующее как мастер-браузер домена.
  • comment — Комментарий к ресурсу, видимый в сети.
  • path — Путь к каталогу для общего доступа.
  • read only — Привилегии чтения/записи каталога, «no» — разрешить запись или «yes» — только чтение.

Создаем пользователей для Самбы:

Для этого, сначала создадим простого пользователя в linux, где username — имя пользователя:

# useradd -M -l -s /sbin/nologin username

Задаем пароль для нашего вновь созданного пользователя:

# passwd username

А теперь занесем в базу Samba-сервер нашего созданного пользователя при помощи команды smbpasswd:

# smbpasswd -a username

Смена пароля у пользователя:

# smbpasswd username

Удаление пользователя:

# smbpasswd -x username

Блокирование пользователя:

# smbpasswd -d username

Запуск сервера:

При использование systemd:

# systemctl enable smb
# systemctl enable nmb
# systemctl start smb
# systemctl start nmb

После каждого изменения конфигурационного файла, необходимо перезагрузить сервер samba:

# systemctl restart smb

Вот и все, минимум выполнили, должно все работать. Более подробную конфигурацию опишу в следующей статьи.