Samba
100%

Совместное использование сети · Урок 5

Samba

Узнайте, как настраивать, проверять, использовать и защищать простой файловый ресурс Samba.

Samba реализует протокол Server Message Block в Unix-подобных системах и позволяет клиентам Linux, Windows, macOS и других систем совместно использовать файлы и принтеры. Современные установки применяют актуальные диалекты SMB; старый термин CIFS всё ещё встречается в клиентских инструментах Linux, но не является поводом включать устаревший SMB1.

Планирование общего ресурса

Перед установкой или изменением Samba определите разрешённых клиентов, идентификаторы, потребности в чтении и записи, сетевую зону, владельца данных, политику резервного копирования и требуемый диалект SMB. Используйте отдельный каталог, чтобы случайно не открыть домашнее или системное дерево.

Доступ регулируют и политика Samba, и нижележащие права файловой системы. Разрешение записи в smb.conf не может предоставить учётной записи отсутствующий у неё доступ к файловой системе.

Что должно разрешать пользователю запись через общий ресурс Samba?

Определение простого общего ресурса

Основная конфигурация обычно находится в /etc/samba/smb.conf. Пример с ограниченным доступом:

[team]
    path = /srv/samba/team
    browseable = yes
    read only = no
    valid users = @teamshare

Создайте каталог и примените проверенные владельца и права для группы Unix:

$ sudo install -d -o root -g teamshare -m 2770 /srv/samba/team

Бит set-group-ID помогает новым записям наследовать группу каталога, однако для совместного доступа также могут понадобиться ACL или тщательно подобранная маска создания. Проверяйте фактический результат для файлов и каталогов, а не полагайтесь лишь на наследование.

Что выражает valid users = @teamshare?

Настройка идентификации

В автономной конфигурации Samba учётной записи обычно нужны соответствующий идентификатор Unix и включённые учётные данные Samba:

$ sudo smbpasswd -a alice

Установки с доменной службой каталогов используют другую схему идентификации. Не помещайте пароли в историю оболочки или конфигурацию, доступную посторонним пользователям, и не считайте, что пароль Samba автоматически совпадает с паролем учётной записи Unix.

Что обычно делает smbpasswd -a alice на автономном сервере?

Проверка и применение конфигурации

До перезагрузки служб проверьте разобранную конфигурацию:

$ testparm -s

Изучите неожиданные значения по умолчанию и ошибки, затем перезагрузите службу Samba своего дистрибутива через диспетчер служб. Имена различаются; часто встречаются smbd.service и smb.service. Если поддерживается reload, он нарушает работу меньше, чем restart, однако всё равно проверьте состояние, прослушиваемые сокеты, область межсетевого экрана и журналы.

Выполните тест с клиента, явно указав пользователя:

$ smbclient //server.example.net/team -U alice

Зачем запускать testparm -s перед применением изменения Samba?

Подключение из Linux

Клиенты Linux обычно используют драйвер файловой системы cifs и вспомогательные средства mount. Не указывайте пароли в командной строке: аргументы могут попасть в историю или стать видны при просмотре процессов. Используйте доступный только root файл учётных данных или одобренный механизм хранения:

$ sudo mount -t cifs //server.example.net/team /mnt/team \
    -o credentials=/root/.smb-team,vers=3.1.1

Защитите файл учётных данных, проверьте поддерживаемый обеими сторонами диалект и осознанно задайте требования к UID, GID, правам и шифрованию. После подключения проверьте ресурс через findmnt, выполните разрешённые тесты чтения и записи, а затем отключите его, предварительно скоординировав активных пользователей.

Почему не следует указывать password=... прямо в команде подключения?

Урок завершён

Вы завершили Samba

Теперь вы можете настроить общий ресурс Samba с учётом безопасности протокола и файловой системы.

  • Сначала определяйте клиентов, идентификаторы, область сети и политику данных.

  • Ограничивайте общий ресурс и согласовывайте нижележащие права.

  • Управляйте учётными данными Samba в соответствии с моделью идентификации.

  • Проверяйте конфигурацию через testparm и выполняйте сквозной клиентский тест.

  • Защищайте клиентские учётные данные и проверяйте подключённый доступ.

Сохраните прогресс

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

Создать бесплатный аккаунт
Назад к Совместное использование сети