Однажды оптимизируя один из серверов, выполнил команду:
dmesg
И увидел следующие сообщения:
Читать далее «Решение apparmor=»DENIED» operation=»open» profile=»/usr/sbin/mysqld»»
Вячеслав Гапон — персональный блог, руководства, статьи, заметки, разработка
Однажды оптимизируя один из серверов, выполнил команду:
dmesg
И увидел следующие сообщения:
Читать далее «Решение apparmor=»DENIED» operation=»open» profile=»/usr/sbin/mysqld»»
Заметил однажды после установки EJabberd в Ubuntu Server 16.04 и добавлении пользователя от root командой:
ejabberdctl register USER localhost PASSWORD
Следующую ошибку:
/usr/sbin/ejabberdctl: line 428: 14615 Segmentation fault $EXEC_CMD «$CMD»
В лог файле /var/log/syslog сообщалось:
Sep 11 11:17:00 mail kernel: [4647543.535271] audit: type=1400 audit(1505117820.598:43): apparmor=»DENIED» operation=»file_mmap» profile=»/usr/sbin/ejabberdctl//su» name=»/bin/su» pid=14439 comm=»su» requested_mask=»m» denied_mask=»m» fsuid=0 ouid=0
Для решения ошибки открыл файл конфигурации apparmor:
nano /etc/apparmor.d/usr.sbin.ejabberdctl
Нашел строку:
/bin/su r,
И изменил её, добавив m:
/bin/su rm,
Перезапустил apparmor:
sudo service apparmor restart
Все, ошибка больше не появлялась.
AppArmor — программный инструмент упреждающей защиты, основанный на профилях, которые определяют привилегиями доступа к тому или иному приложению. По умолчанию включен в операционных системах Ubuntu.
Установка дополнительных профилей:
sudo apt-get install apparmor-profiles
Проверка статуса:
sudo apparmor_status sudo /etc/init.d/apparmor status
Профили могут быть запущены в щадящем режиме «complain mode» или вынужденном «enforce mode».
Справка по AppArmor:
man apparmor
Директория хранения профилей:
/etc/apparmor.d
Включение профиля:
cp /usr/share/doc/apparmor-profiles/extras/usr.bin.firefox /etc/apparmor.d
Удаляем из директории с отключенными профилями (если есть):
sudo rm /etc/apparmor.d/disable/usr.bin.firefox
Отключение профиля:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
Пример переключения режимов:
aa-enforce usr.bin.firefox aa-complain usr.bin.firefox
Перезапускаем AppArmor:
sudo /etc/init.d/apparmor restart