Установка и настройка Samba на сервере AltLinux: пошаговое руководство

Установка и настройка Samba на AltLinux. Общие папки, права, firewall, подключение с Windows. Пошаговая инструкция для сервера.

2026.03.28                      


Установка и настройка Samba на сервере AltLinux: пошаговое руководствоУстановка и настройка Samba на сервере AltLinux: пошаговое руководство Ниже представлена подробная инструкция по установке и настройке файлового сервера на базе Samba в операционной системе AltLinux (подходит для версий Server, Workstation и Regular современных выпусков, например, п10 или п11).

1. Подготовка и установка пакетов

Откройте терминал и получите права суперпользователя (root).

  1. Обновите списки пакетов и установите Samba:
    apt-get update
    apt-get install samba samba-client
  1. Проверьте статус службы (пока она может быть не активна):
    systemctl status smb

2. Резервное копирование конфигурации

Перед внесением изменений сохраните оригинальный файл конфигурации:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

3. Настройка smb.conf

Откройте файл конфигурации в текстовом редакторе (например, nano или vi):

nano /etc/samba/smb.conf

Вам нужно отредактировать секцию [global] и добавить секцию для общей папки. Ниже приведен пример минимально рабочей конфигурации.

Секция [global]

Найдите эту секцию и приведите её к следующему виду (обратите внимание на кодировку для корректного отображения русских имен файлов):

[global]
    workgroup = WORKGROUP
    server string = Samba Server AltLinux
    security = user
    map to guest = Bad User
    # Кодировки для корректной работы с русскими именами файлов
    unix charset = UTF-8
    dos charset = CP866
    # Логирование
    log file = /var/log/samba/log.%m
    max log size = 50

Секция общей папки (пример)

В конец файла добавьте описание ресурса, который будет доступен пользователям. Например, общая папка /srv/samba/share:

[Share]
    comment = General Share
    path = /srv/samba/share
    browseable = yes
    writable = yes
    guest ok = no
    valid users = @sambashare
    create mask = 0644
    directory mask = 0755

Примечание: В примере выше доступ разрешен группе пользователей sambashare. Вы можете указать конкретного пользователя вместо @sambashare.

4. Создание директории и настройка прав

  1. Создайте директорию для общих файлов:
    mkdir -p /srv/samba/share
  1. Создайте системную группу (если еще не существует) и добавьте в неё нужных пользователей:
    groupadd sambashare
    usermod -aG sambashare имя_пользователя
*(Замените `имя_пользователя` на реальное имя пользователя в системе)*
  1. Назначьте права на папку:
    chown -R root:sambashare /srv/samba/share
    chmod -R 0770 /srv/samba/share

5. Создание пользователя Samba

У пользователя должен быть существующий системный аккаунт в AltLinux. После этого нужно добавить его в базу паролей Samba:

smbpasswd -a имя_пользователя

Введите пароль дважды. Этот пароль будет использоваться при подключении с Windows-клиентов.

6. Настройка брандмауэра (Firewall)

В AltLinux часто используется firewalld. Необходимо открыть порты для Samba (139, 445/tcp и 137, 138/udp).

  1. Добавьте сервис samba в исключения:
    firewall-cmd --permanent --add-service=samba
    firewall-cmd --reload

Если вы используете iptables напрямую:

iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT
service iptables save

7. Запуск служб

Запустите службы Samba и добавьте их в автозагрузку:

systemctl enable --now smb
systemctl enable --now nmb

(Служба winbind нужна только если сервер входит в домен Active Directory, для standalone сервера достаточно smb и nmb).

8. Проверка конфигурации

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

testparm

Если ошибок нет, перезапустите службы:

systemctl restart smb nmb

9. Подключение с клиента

Из Windows:

  1. Откройте «Проводник».
  2. В адресной строке введите: \\IP-АДРЕС-СЕРВЕРА\Share
  3. Введите логин и пароль пользователя, которого вы создали через smbpasswd.

Из Linux (клиент):

smbclient //IP-АДРЕС-СЕРВЕРА/Share -U имя_пользователя

10. Возможные проблемы и решение

  1. Не видны русские имена файлов: Убедитесь, что в [global] прописаны unix charset = UTF-8 и dos charset = CP866.

  2. Ошибка доступа (Permission denied):

    • Проверьте права на папку (ls -l /srv/samba/).
    • Проверьте, добавлен ли пользователь в группу sambashare.
    • Если включен SELinux/SMACK (специфично для некоторых сборок AltLinux), может потребоваться изменение контекста безопасности, но в стандартной конфигурации обычно достаточно прав UNIX.
  3. Сервер не виден в сети:

    • Проверьте брандмауэр (firewall-cmd --list-all).
    • Убедитесь, что службы smb и nmb активны.
    • Проверьте логи: /var/log/samba/log.<имя_клиента>.