[РЕШЕНО] Достижение нормальной работы firejail и apparmor.

Опрос

Вы используете подобные программы для выхода в Интернет?
Да.
Нет.
Не всегда.
Ни один из предложенных ответов не подходит.
Запускаю браузер firejail google-chrome-stable %U, после этого вывод firejail --tree показывает четыре процесса зомби.
Как зависимость к firejail установился apparmor. Apparmor is enabled: /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet rootfstype=ext4 libahci.ignore_sss=1 raid=noautodetect apparmor=1 lsm=lockdown,yama,apparmor plymouth.enable=0 lpj=28959870 resume=/dev/sdb1 resume_offset=325632"
.
Но запустить службу systemd apparmor не получается.
Пробовал такую команду: firejail –apparmor google-chrome-stable, приложение запускается с пресетным набором правил, но:
Warning: Cannot confine the application using AppArmor.
Maybe firejail-default AppArmor profile is not loaded into the kernel.
sudo aa-enforce firejail-default
Загружен он в ядро или не загружен, firejail ведёт себя одинаково.
Всё сложно и запутано, много ошибок.
немного денег и не попадать за решётку вот и всё, что требуется для жизни
azaqthoth
lsm=lockdown,yama,apparmor
Это лишнее, все делается автоматом (смотри вывод cat /sys/kernel/security/lsm)
Английская версия Wiki уже устарела, скоро будет изменение (уже готово - будет изменена всего одна строка) .... смотри японскую версию, в которую уже внесено изменение.
Ошибки не исчезают с опытом - они просто умнеют
azaqthoth
Но запустить службу systemd apparmor не получается.
На скриншоте (systemctl status apparmor) - служба отключена (apparmor.service; disabled; vendor preset: disabled).
Попробуйте включить службу :
sudo systemctl enable apparmor.service
Запустить :
sudo systemctl start apparmor.service
Что покажет проверка ?
aa-enabled
azaqthoth
Запускаю браузер firejail google-chrome-stable %U
При запуске через терминал в конце команды добавьте & exit, иначе при закрытии терминала браузер также закроется :
 firejail google-chrome-stable %U & exit
P.S. Запуск браузера занимает у вас ?
процесс инициализирован за 68,58 мс
beisic
Что покажет проверка ?
aa-enabled
— Yes! И sudo aa-status показывает, что модуль загружен и список профилей.
Пробовал несколько раз systemctl enable apparmor, затем ^start, даже перезагружал систему. Служба не запускалась, появлялось сообщение об ошибке. Кажется, apparmor не мог загрузить по меньшей мере, один профиль. Я просто удалил большинство файлов из /etc/apparmor.d и из поддиректорий тогда, у меня просто нет большинства приложений, с которыми соотносятся те *.profile файлы, ничего не изменилось.
vasek
lsm=lockdown,yama,apparmor
Пробовал ещё security=apparmor, grub-mkconfig -o /boot/grub/grub.cfg, само собой.

Linux 5.4.71-1-lts, может в этом дело?

Я до конца не понимаю, что делает firejail и думаю, к чему мне лишний сервис в systemd, может, оно и так работает, без apparmor? Только вот 4 зомби процесса...

beisic
процесс инициализирован за 68,58 мс
Первый запуск после включения длится долго. Сейчас у меня по вашему совету .cache примонтирован на tmpfs, я убрал profile-sync-daemon, поменял dns (пишут, что это здорово, dns: 1.1.1.1).
немного денег и не попадать за решётку вот и всё, что требуется для жизни
Просто нужно вместо этого
azaqthoth
apparmor=1 lsm=lockdown,yama,apparmor
прописать это (чтобы не пересобирать ядро)
apparmor=1 security=apparmor
Что и прописано в японской Wiki ..... а в английской версии уже изменение подготовлено

PS - apparmor включается нормально, что показывает и status ..... просто недавно пришлось включать знакомому, то же не мог активировать apparmor
... а вот песочницу ни когда не запускал, не знаю ... не нравится она мне ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
apparmor=1 security=apparmor
Спасибо, я пробовал и так. Не получилось. Попробую ещё, может, что перепутал. Слишком много раз делал.
немного денег и не попадать за решётку вот и всё, что требуется для жизни
Интеграция с Apparmor
azaqthoth
Попробую ещё, может, что перепутал. Слишком много раз делал.
Проверил сейчас на своем ноуте - все работает
- # pacman -S apparmor
- reboot - при перегрузке зашел в меню grub и прописал apparmor=1 security=apparmor
cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-linux root=/dev/sda3 rw apparmor=1 security=apparmor
- после перегрузки
# systemctl enable –now apparmor.service .... --now (это глюк)
Created symlink /etc/systemd/system/multi-user.target.wants/apparmor.service → /usr/lib/systemd/system/apparmor.service.
systemctl status apparmor
● apparmor.service - Load AppArmor profiles
     Loaded: loaded (/usr/lib/systemd/system/apparmor.service; enabled; vendor preset: disabled)
     Active: active (exited) since Sat 2020-10-17 20:52:06 MSK; 26s ago
    Process: 941 ExecStart=/lib/apparmor/apparmor.systemd reload (code=exited, status=0/SUCCESS)
   Main PID: 941 (code=exited, status=0/SUCCESS)

окт 17 20:52:03 arch systemd[1]: Starting Load AppArmor profiles...
окт 17 20:52:03 arch apparmor.systemd[941]: Restarting AppArmor
окт 17 20:52:03 arch apparmor.systemd[941]: Reloading AppArmor profiles
окт 17 20:52:06 arch systemd[1]: Finished Load AppArmor profiles.
aa-enabled
Da
… вместо yes англо-русское Da …
# aa-status
apparmor module is loaded.
49 profiles are loaded.
49 profiles are in enforce mode.
.... и далее все показано ... 

А вот в части firejail - дак нужно обучать apparmor

EDIT 1 - пока писал свое, не видел твое ....
azaqthoth
— Yes! И sudo aa-status показывает, что модуль загружен и список профилей.
так что все написанное лишнее и не нужное ... apparmor у тебя работает .... виноват, что не читал написанное выше ...
а в части firejail - ничего сказать не могу ... не нравится мне эта примочка ...

а в выводе aa-status присутствует firejail ??? - вроде он там должен быть ... или я не прав?
Ошибки не исчезают с опытом - они просто умнеют
vasek
в выводе aa-status присутствует firejail ???
Нет. И его не было, кажется, с самого начала. После я удалил почти все профили командой rm (скорее всего, некорректно), и теперь вообще ничего не показывает, кроме того, что сам модуль загружен. Хотя, непонятно: в /etc/apparmor.d есть ещё файлы. Вообще собираюсь переустановить apparmor, стереть все конфигурационные файлы, установить его заново, не как зависимость. А то запутался уже. Делал вот так
# apparmor_parser -r /etc/apparmor.d/firejail-default
получалось
Found reference to variable run, but is never declared
немного денег и не попадать за решётку вот и всё, что требуется для жизни
 
Зарегистрироваться или войдите чтобы оставить сообщение.