我已经使用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社区时,它没有任何作用。
sudo apparmor_parser -r /etc/apparmor.d/*snap-confine*
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap-confine*
修复它。不需要重新启动。
这对我有效
service snapd.apparmor start
(它需要根。(
来源https://apparmor.net/
AppArmor(AppArmor(是一种有效且易于使用的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/*
systemctl enable --now apparmor.service
systemctl enable --now snapd.apparmor.service
从这里
这就是我在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
此命令帮助我修复docker-compose
:
sudo apparmor_parser -r /var/lib/snapd/apparmor/profiles/*
您可以使用以下命令检查docker compose是否工作:
docker-compose version
在我的案例中,它是由错误的AppArmor配置文件引起的,并且在中以抱怨(或强制?(模式加载
/etc/apparmor.d/usr.bin.snap
这显然导致快照无法确定快照的数量,从而导致向AppArmor添加了一个糟糕的配置文件。
"aa状态";输出线路,如:
/usr/bin/snap//null-/usr/lib/snapd/snap-confine
用于强制模式
我把那个文件(/etc/apparmor.d/usr.bin.snap
(移到我的主目录;sudo aa移除未知";以及";sudo systemctl重启设备;之后一切恢复正常。
然而,我不知道/etc/apparmor.d/usr.bin.snap
的起源,所以请记住,系统可能有问题。
我在使用snap运行scrcpy时遇到了同样的问题。我先尝试了这个建议,它奏效了:
sudo快照刷新
(此建议位于https://github.com/canonical/microk8s/issues/249)
这个命令也适用于我的情况:-
$ sudo service snapd.apparmor start
$ whatsdesk
谢谢。
真正有效的是pavlikoo的答案
但在某些情况下,最好先执行:
sudo systemctl enable snapd
如果您没有特殊权限,请不要忘记将sudo添加到pavlikoo的命令中。
实际上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'
对于执行后的我
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
sudo systemctl enable snapd.service
sudo systemctl start snapd.service
service snapd.apparmor start