Snap-confine 具有提升的权限,不受限制,但应该受限制。拒绝继续避免权限升级攻击

问题描述 投票:0回答:14

我已经使用 snap 一段时间了,但最近升级后,当我尝试打开任何应用程序时,我收到此错误

Snap-confine has elevated permissions and is not confined but should be.
Refusing to continue to avoid permission escalation attacks

我尝试了各种修复方法,但情况变得越来越糟。知道我应该做什么吗?

我也尝试过

sudo apt purge snapd snap-confine && sudo apt install -y snapd
但是当我尝试打开pycharm社区时,它没有做任何事情。

linux package-managers apparmor snap
14个回答
65
投票
sudo apparmor_parser -r /etc/apparmor.d/*snap-confine*
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap-confine*

修复它。无需重启。


26
投票

这对我有用

service snapd.apparmor start 

(需要root。)


20
投票

来自 https://apparmor.net/

AppArmor(app-armor)是一个有效且易于使用的Linux应用程序安全 系统。 AppArmor 主动保护操作系统和 应用程序免受外部或内部威胁,甚至零日攻击, 通过强制良好行为并防止已知和未知的行为 应用程序缺陷免遭利用。

    # start the appormor system
    sudo systemctl start apparmor 
    # parse and reload all apparmor profiles of installed snap applications 
    sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/*

12
投票
systemctl enable --now apparmor.service    
systemctl enable --now snapd.apparmor.service

从这里


4
投票

这就是我在 Kali Linux 上的工作:

sudo apparmor_parser -r /etc/apparmor.d/*snap-confine*
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap-confine*
systemctl enable --now snapd.apparmor.service

3
投票

这个命令帮助我修复了

docker-compose

sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/*

您可以使用命令检查 docker-compose 是否工作:

docker-compose version

1
投票

在我的情况下,这是由于存在错误的 AppArmor 配置文件并以投诉(或强制?)模式加载造成的

/etc/apparmor.d/usr.bin.snap

这显然会导致 snap 无法确定 snap 的数量,从而导致将错误的配置文件添加到 AppArmor 中。

“aa-status”输出行,例如:

/usr/bin/snap//null-/usr/lib/snapd/snap-confine

处于强制模式

我将该文件(

/etc/apparmor.d/usr.bin.snap
)移动到我的主目录,运行“sudo aa-remove-unknown”和“sudo systemctl restart apparmor”,之后一切恢复正常。

但是我不知道

/etc/apparmor.d/usr.bin.snap
的起源,所以请记住系统可能有问题。


1
投票

我在使用snap运行scrcpy时遇到了同样的问题。我首先尝试了这个建议,它起作用了:

sudo 快照刷新

(此建议位于 https://github.com/canonical/microk8s/issues/249


0
投票

这个命令也适用于我的情况:-

$ sudo service snapd.apparmor start
$ whatsdesk

谢谢你。


0
投票

真正有效的是pavlikooanswer

但在某些情况下,最好先执行:

sudo systemctl enable snapd

如果您没有特殊权限,请不要忘记将 sudo 添加到 pavlikoo 的命令中。


0
投票

确实 AppArmor 没有运行。 AppArmor 中的一些其他错误将禁用整个快照!必须在 AppArmor 启动之前修复此问题。

Nov 21 00:24:40 kfc-XPS-15-9560 apparmor.systemd[201673]: AppArmor parser error for /etc/apparmor.d/usr.bin.tcpdump in profile /etc/apparmor.d/usr.bin.tcpdump at line 64: Could not open 'local/usr.sbin.tcpdump'

0
投票

执行后对我来说

sudo apparmor_parser -r /etc/apparmor.d/*snap-confine*
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap-confine*

我得到一个错误:

缺少配置文件 snap.docker.compose。
请确保snapd.apparmor服务已启用并启动

已修复

sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.docker.compose

遵循此askubuntu线程:https://askubuntu.com/questions/1248349/docker-compose-denied-by-apparmor-outside-of-home-how-to-fix


0
投票
sudo systemctl enable snapd.service   
sudo systemctl start snapd.service
service snapd.apparmor start  

0
投票

仅添加另一个解决方案,以防您弄乱 apparmor 配置文件并且重新启动服务对您来说还不够。

如果您使用 aa-genprof 在 snapd 的管理下创建应用程序的新配置文件,这可能适用于您,在我的例子中是 VSCode。

Snap 核心包已损坏,因此新的 Snap 安装也失败。

如果您由于以下原因无法删除 Firefox snap:

Unlinkat /var/snap/firefox/common/host-hunspell/
尝试在
umount /var/snap/firefox/common/host-hunspell
 之前卸载它 
snap remove --purge firefox

mkdir ~/profile-backups

# Stop services before moving around profiles
sudo systemctl stop snapd.apparmor
sudo systemctl stop apparmor

find /etc/apparmor.d -type f -name "*snapd*"
# -> check what you find and the edit time, new stuff is suspicious stuff
ls -lt /etc/apparmor.d

sudo mv /etc/apparmor.d/*snap-confine* ~/profile-backups
sudo mv /etc/apparmor.d/local/*snap-confine* ~/profile-backups
sudo apparmor_parser --remove --verbose /var/lib/snapd/apparmor/profiles/*confine*

sudo apt purge snapd

sudo aa-remove-unknown
# -> restart

sudo apt install -y --install-recommends snapd

作为经典安装或仅从 apt 中安装与 apparmor 相关的少数受信任的软件包,如 starship 或 vscode

sudo snap install --classic what_you_like_to_not_be_restricted --channel latest/stable

然后从 apt 或官方 deb 或经典快照安装 FirefoxVScode...。

© www.soinside.com 2019 - 2024. All rights reserved.