Вопрос или проблема
У меня есть новая копия 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.
Практическое применение:
-
Проверка и улучшение подключений Snap:
Проверьте, какие интерфейсы доступны для Snap Thunderbird, используя команду:
snap connections thunderbird
Судя по проблеме, возможно, необходимо подключить следующие интерфейсы, если они отсутствуют:
sudo snap connect thunderbird:removable-media
Это позволит Thunderbird получить доступ к большим объемам данных и некоторым сетевым дискам.
-
Модификация профиля AppArmor:
Если изменение соединений Snap не решает проблему, возможно, потребуется корректировать профиль безопасности AppArmor. Следует отметить, что манипуляции в директориях
/var/lib/snapd/apparmor/profiles/
имеют риски и могут не быть самыми устойчивыми при обновлениях системы.Вы можете попробовать добавить следующее правило, чтобы выдать программе дополнительные разрешения:
owner /home/karsten/HomeServer/ablage/** rwk,
Убедитесь, что путь корректный и учитывает все необходимые поддиректории.
-
Исследование параметров монтирования 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. -
Перезапуск системы безопасности:
После изменений стоит перезагрузить либо систему, либо перезапустить службу AppArmor, чтобы новые правила вступили в силу:
sudo systemctl restart apparmor
-
Обновление и тестирование системы:
Переустановите Snap-пакет Thunderbird или обновите его до последней версии в надежде, что недавние обновления могли решить уже известные проблемы конфигурации.
Дополнительно, по мере возможности, обратитесь к официальным форумам поддержки Ubuntu и Canonical для получения специализированной поддержки. Проблемы, связанные с разрешениями в Snap и AppArmor, могут потребовать дополнительных усилий для полного решения, особенно если это связано с особенностями версии или установленных модулей ядра.