Ubuntu 24.04: Snap Thunderbird не может читать файлы с сетевого диска.

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

У меня есть новая копия Kubuntu 24.04

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble

В этой версии Thunderbird установлен как snap.

$ snap version
snap    2.67
snapd   2.67
series  16
ubuntu  24.04
kernel  6.8.0-53-generic

$ sudo aa-status |grep thunderbird
[sudo] password for karsten: 
   snap-update-ns.thunderbird
   snap.thunderbird.hook.configure
   snap.thunderbird.hook.install
   snap.thunderbird.hook.post-refresh
   snap.thunderbird.thunderbird
   thunderbird//snap.thunderbird.thunderbird
   thunderbird
   /snap/thunderbird/663/usr/lib/thunderbird/thunderbird-bin (147997) snap.thunderbird.thunderbird
   /snap/thunderbird/663/usr/lib/thunderbird/thunderbird-bin (148180) snap.thunderbird.thunderbird

Я установил служебную программу NAS через samba (autofs).

$ more /etc/auto.master.d/auto.karsten
ablage -fstype=cifs,vers=2.1,rw,credentials=/home/karsten/.smbcredentials,file_mode=0777,dir_mode=0777 ://192.168.1.20/ablage

Когда я пытаюсь добавить вложение в электронное письмо с локального диска, это работает.
Когда я пытаюсь добавить вложение в электронное письмо с сетевого диска, появляется сообщение Ошибка открытия каталога ‘/home/karsten/HomeServer/ablage/Haus’: Отказано в доступе

Я могу найти некоторые записи в журнале:

2025-02-21T21:16:42.584883+01:00 LinuxKirschbaum kernel: audit: type=1400 audit(1740169002.582:2166): apparmor="DENIED" operation="open" class="file" profile="snap.thunderbird.thunderbird" name="/etc/fstab" pid=147997 comm="thunderbird-bin" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
2025-02-21T21:16:42.587855+01:00 LinuxKirschbaum kernel: audit: type=1400 audit(1740169002.585:2167): apparmor="DENIED" operation="open" class="file" profile="snap.thunderbird.thunderbird" name="/run/mount/utab" pid=147997 comm="thunderbird-bin" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
2025-02-21T21:16:42.644055+01:00 LinuxKirschbaum dbus-daemon[1353]: [system] Activating via systemd: service name="org.freedesktop.hostname1" unit="dbus-org.freedesktop.hostname1.service" requested by ':1.1371' (uid=1001 pid=147997 comm="/snap/thunderbird/663/usr/lib/thunderbird/thunderb" label="snap.thunderbird.thunderbird (enforce)")
2025-02-21T21:16:42.646832+01:00 LinuxKirschbaum kernel: audit: type=1400 audit(1740169002.644:2168): apparmor="DENIED" operation="open" class="file" profile="snap.thunderbird.thunderbird" name="/run/mount/utab" pid=147997 comm="thunderbird-bin" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0
2025-02-21T21:16:42.649830+01:00 LinuxKirschbaum kernel: audit: type=1400 audit(1740169002.647:2169): apparmor="DENIED" operation="open" class="file" profile="snap.thunderbird.thunderbird" name="/home/karsten/HomeServer/ablage/Haus/" pid=147997 comm="pool-thunderbir" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0

Изменения в профиле Apparmor не имеют никакого эффекта, например, (/var/lib/snapd/apparmor/profiles/snap.thunderbird.thunderbird):

    profile "snap.thunderbird.thunderbird" flags=(attach_disconnected,mediate_deleted) {
      #include <abstractions/base>
      #include <abstractions/consoles>
      #include <abstractions/openssl>
    owner /home/karsten/HomeServer/ablage/  rw,
      /etc/fstab r,
      # While in later versions of the base abstraction, include this explicitly
      # for series 16 and cross-distro
      /etc/ld.so.preload r,
...

Какая конфигурация необходима, чтобы позволить Thunderbird получить доступ к сетевому ресурсу /home/karsten/HomeServer/ablage/Haus/?

Какое правило следует добавить здесь?

Любые предложения приветствуются. Я совершенно потерян.

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

Для решения проблемы, когда Snap-приложение Thunderbird в Kubuntu 24.04 не имеет доступа к файлам на сетевом диске, необходимо учесть несколько аспектов системы безопасности и управления ресурсами в Ubuntu.

Теория:

Во-первых, нужно понимать, что Snap — это система пакетов, разработанная Canonical, которая изолирует приложения в контейнеры, таким образом повышая их безопасность и стабильность. Однако такая изоляция может приводить к ограничениям в доступе приложений к файловой системе, особенно к сетевым и удаленным ресурсам.

Некоторые из ключевых проблем безопасности связаны с AppArmor — системой обязательного контроля доступа, используемой в Ubuntu для ограничения ресурсов, к которым могут иметь доступ приложения. Snap интегрируется с AppArmor, создавая профили безопасности для каждого приложения, что может мешать Thunderbird в Snap доступиться к сетевым дискам.

AppArmor использует профили безопасности, которые определяют, какие ресурсы могут быть доступны приложению и какие действия оно может выполнять. В случае с вашим заданием, похоже, что AppArmor отказывает в доступе к сетевому диску из-за недостаточных разрешений в профиле Snap для Thunderbird.

Пример:

В вашем логах видно, что операции открытия файлов были отклонены с AppArmor ошибкой appamor="DENIED" для процесса thunderbird-bin. Такие ошибки часто возникают, когда приложение, работающее в Snap, пытается прочитать файлы или директории, к которым у него нет прав доступа согласно профилю безопасности.

Типичные строки журнала:

audit(1740169002.647:2169): apparmor="DENIED" operation="open" class="file" profile="snap.thunderbird.thunderbird" name="/home/karsten/HomeServer/ablage/Haus/" requested_mask="r" denied_mask="r"

Эта строка указывает, что доступ к директории /home/karsten/HomeServer/ablage/Haus/ был заблокирован для программы Thunderbird.

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

  1. Проверка и улучшение подключений Snap:

    Проверьте, какие интерфейсы доступны для Snap Thunderbird, используя команду:

    snap connections thunderbird

    Судя по проблеме, возможно, необходимо подключить следующие интерфейсы, если они отсутствуют:

    sudo snap connect thunderbird:removable-media

    Это позволит Thunderbird получить доступ к большим объемам данных и некоторым сетевым дискам.

  2. Модификация профиля AppArmor:

    Если изменение соединений Snap не решает проблему, возможно, потребуется корректировать профиль безопасности AppArmor. Следует отметить, что манипуляции в директориях /var/lib/snapd/apparmor/profiles/ имеют риски и могут не быть самыми устойчивыми при обновлениях системы.

    Вы можете попробовать добавить следующее правило, чтобы выдать программе дополнительные разрешения:

    owner /home/karsten/HomeServer/ablage/** rwk,

    Убедитесь, что путь корректный и учитывает все необходимые поддиректории.

  3. Исследование параметров монтирования CIFS:

    Проверьте, что монтирование CIFS использует правильные опции для обеспечения доступа для связанных приложений. Одна из возможно проблем может быть в правах доступа при монтировании:

    ablage -fstype=cifs,vers=2.1,rw,credentials=/home/karsten/.smbcredentials,file_mode=0777,dir_mode=0777 ://192.168.1.20/ablage

    Убедитесь, что /home/karsten/.smbcredentials правильно настроен и доступен для процесса Thunderbird.

  4. Перезапуск системы безопасности:

    После изменений стоит перезагрузить либо систему, либо перезапустить службу AppArmor, чтобы новые правила вступили в силу:

    sudo systemctl restart apparmor
  5. Обновление и тестирование системы:

    Переустановите Snap-пакет Thunderbird или обновите его до последней версии в надежде, что недавние обновления могли решить уже известные проблемы конфигурации.

Дополнительно, по мере возможности, обратитесь к официальным форумам поддержки Ubuntu и Canonical для получения специализированной поддержки. Проблемы, связанные с разрешениями в Snap и AppArmor, могут потребовать дополнительных усилий для полного решения, особенно если это связано с особенностями версии или установленных модулей ядра.

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

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