Как задать ACL/права доступа к папкам в наборе данных ZFS для разрешения общего доступа SMB с использованием Samba?

Вопрос или проблема

Фоновая информация:

  • Linux Mint 22
  • Установлены инструменты zfs
  • Установлен Samba для включения общего доступа smb
  • Я новичок в Linux и уверен, что не хватает какой-то детали.

Что я сделал до сих пор:

Я создал набор zfs и изменил следующие свойства:

sudo zfs set nbmans=on sharesmb=on NASMainPool/WNAS 

Я сделал свою учетную запись владельцем файла с помощью:

sudo chmod 1000 /NASMainPool/WNAS

Затем, пройдя через графический интерфейс Nemo, я перешел к:

NASMainPool/WNAS -> Свойства -> “поделиться”.

Попробовал включить общий доступ и разрешить доступ гостям -> мне предложили добавить дополнительные разрешения -> нажал “Добавить” -> получил эту ошибку:

“Не удалось изменить разрешения для папки “WNAS”.

Какую настройку ACL/разрешений я пропустил?

Настройки интерфейса Nemo для включения общего доступа

Ошибка интерфейса Nemo

Ответ или решение

Как настроить ACL и разрешения на папках ZFS для использования SMB через Samba на Linux Mint 22

Введение

Настройка совместного доступа к папкам в сетевой среде при помощи Samba может быть сложной задачей, особенно для новичков в системе Linux. Основная цель данной инструкции – помочь вам настроить ACL (Access Control Lists) и разрешения на ZFS dataset для корректного использования SMB-шares. С этим руководством вы сможете решить вашу проблему и обеспечить доступ к папке WNAS, используя Samba.

Шаг 1: Подготовка ZFS Dataset

Вы уже создали ZFS dataset WNAS и включили необходимые параметры sharesmb=on, что позволяет использовать Samba для совместного доступа к ресурсам. Однако, важно убедиться, что разрешения на уровень файловой системы настроены правильно. Начнем с установки правильных разрешений:

  1. Убедитесь, что ваш пользователь является владельцем каталога. Проверьте ваше имя пользователя и выполните команду:

    sudo chown -R <ваше_имя_пользователя> /NASMainPool/WNAS

    Эта команда делает вас владельцем папки и всех её содержимых.

  2. Задайте базовые права доступа. Установите права доступа к папке таким образом:

    sudo chmod 770 /NASMainPool/WNAS

    Это обеспечит доступ на чтение, запись и выполнение для владельца и группы, в то время как остальные пользователи не получат доступ.

Шаг 2: Настройка ACL на ZFS Dataset

ZFS поддерживает использование ACL, и важно корректно их настроить:

  1. Проверьте поддержку ACL. Убедитесь, что ваш dataset настроен на использование ACL. Выполните:

    zfs get acltype NASMainPool/WNAS

    Если значение acltype не равно posixacl, установите его:

    sudo zfs set acltype=posixacl NASMainPool/WNAS
  2. Настройка ACL для доступа по Samba. Используйте команду setfacl для настройки конкретных прав доступа:

    sudo setfacl -m u:<ваше_имя_пользователя>:rwx /NASMainPool/WNAS
    sudo setfacl -m g:<ваша_группа>:rwx /NASMainPool/WNAS

    Эти команды предоставляют вашему пользователю и группе полный доступ к папке.

  3. Добавление разрешений для гостей (если необходимо). Если вы хотите предоставить гостям доступ к ресурсу, выполните:

    sudo setfacl -m u:guest:rwx /NASMainPool/WNAS

Шаг 3: Конфигурация Samba

Теперь вам необходимо убедиться, что Samba правильно настроена для использования созданного вами ресурса.

  1. Измените конфигурацию Samba. Откройте файл конфигурации Samba:

    sudo nano /etc/samba/smb.conf

    В этом файле добавьте следующую секцию в конец:

    [WNAS]
    path = /NASMainPool/WNAS
    valid users = <ваше_имя_пользователя>, guest
    read only = no
    browsable = yes
    guest ok = yes

    Это позволит всем пользователям просматривать общую папку и делать изменения.

  2. Перезапустите Samba. После внесения изменений в конфигурацию выполните команду:

    sudo systemctl restart smbd.service

Шаг 4: Проверка и отладка

После всех вышеуказанных действий выполните следующие проверки:

  1. Проверьте статус Samba. Убедитесь, что служба Samba запущена:

    sudo systemctl status smbd.service
  2. Тест доступа. Попробуйте подключиться к SMB-share с другого устройства в сети, используя ваше имя пользователя и пароль. Если вы включили доступ для гостей, попытайтесь подключиться без аутентификации.

Заключение

На этом этапе вы должны быть в состоянии использовать Samba для совместного доступа к вашему ZFS dataset на Linux Mint 22. Если вы все еще сталкиваетесь с проблемами, проверьте логи Samba, которые можно найти по пути /var/log/samba/, и убедитесь, что все права и ACL настроены корректно. Удачи в ваших начинаниях!

Оцените материал
Добавить комментарий

Капча загружается...