Connexion

Besoin d'aide ? Une question ? Un avis ? Rejoignez nous sur notre salon IRC pour clavarder

Forum

Logiciels » Autres logiciels [Réglé] Akonadi / Kalarm : lubuntu 20.04

arte-naki Membre non connecté

Rang

Avatar

Inscrit le : 03/11/2020 à 03h59

Localisation : Russie

Messages: 253

Le 11/11/2020 à 15h28

Reprise du message précédent

Papoteur :
je ne sais pas lequel utilise Lubuntu

Les versions récentes de Lubuntu utilisent LXQT. Pour un vieil ordinateur, il est préférable d'utiliser Debian ou Mageia avec LXDE (GTK2).
Ubuntu utilise Apparmor. Mageia est un MSEC qui peut être désactivé.
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 17h21
bisane :
bisane :
Edit jybz : remplacement des balises block par code.

Je viens juste de voir ! :langue4:
J'ai compris avant de poster mon avant-dernier message, et espère l'avoir "bien" fait, mais je n'ai pas trouvé de balise "code"... donc je tape à la main...

Oui, personne ne le vois. C'est le symbole </>
aide_menu_deroulant
   
bisane Membre non connecté

Rang

Avatar

Inscrit le : 10/11/2020 à 19h43

Messages: 59

Le 11/11/2020 à 17h51
nic80 :
@bisane: que donne la commande "sudo journalctl -b 0 | grep apparmor | grep mysql" ?

Ca :
Code :
bisane@bisane:~$ sudo journalctl -b 0 | grep apparmor | grep mysql
[sudo] Mot de passe de bisane : 
nov. 11 17:20:05 bisane audit[725]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="mysqld_akonadi" pid=725 comm="apparmor_parser"
nov. 11 17:20:05 bisane kernel: audit: type=1400 audit(1605111605.812:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="mysqld_akonadi" pid=725 comm="apparmor_parser"
nov. 11 17:20:06 bisane kernel: audit: type=1400 audit(1605111605.928:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/mysqld" pid=729 comm="apparmor_parser"
nov. 11 17:20:05 bisane audit[729]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/mysqld" pid=729 comm="apparmor_parser"
nov. 11 17:21:28 bisane audit[1869]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/bisane/" pid=1869 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
nov. 11 17:21:28 bisane kernel: audit: type=1400 audit(1605111688.037:36): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/bisane/" pid=1869 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
nov. 11 17:21:28 bisane audit[1870]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/bisane/.local/share/akonadi/mysql.conf" pid=1870 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
nov. 11 17:21:28 bisane kernel: audit: type=1400 audit(1605111688.069:37): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/bisane/.local/share/akonadi/mysql.conf" pid=1870 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000



magnux77 :
Après avoir judicieusement choisi LXDE comme environnement graphique via Lubuntu "pour un vieux notebook qui avait peu de ressources", pourquoi installer les composants KDE Plasma (korganizer, kalarm) propres à étouffer ce bon vieux notebook ? C'est surprenant, je me demande même pourquoi mes collègues ne sont pas surpris ?

Je ne me rappelle pas avoir précisément installé ces composants... ça doit remonter à quelque temps !
Quoi qu'il en soit, j'ai "harmonisé" les environnements sur le notebook et mon PC, et là, je suis sur le PC. C'est sur celui-ci que j'ai Kalarm, pas sur le notebook, que je n'ai pas encore upgradé vers la 20.04.

arte-naki :
Les versions récentes de Lubuntu utilisent LXQT. Pour un vieil ordinateur, il est préférable d'utiliser Debian ou Mageia avec LXDE (GTK2).

Je ne me sens pas vraiment prête à tout recommencer à 0... :langue4:

Thunderbird ne propose pas du tout les mêmes fonctionnalités que Kalarm, en tout cas pour ce pour quoi je l'utilise...

magnux77 :
Enfin, petite précision, Mageia, contrairement à Ubuntu, ne deale pas avec Microsoft.

Ce qui signifie, en clair ? :]


Je ne comprends pas tout à vos échanges, nic80 et jybz, mais je vais de ce pas regarder du côté des liens indiqués... sachant que je suis une truffe en anglais, pour arranger le tout ! :diable:
Site web    
bisane Membre non connecté

Rang

Avatar

Inscrit le : 10/11/2020 à 19h43

Messages: 59

Le 11/11/2020 à 17h56
jybz :
Oui, personne ne le vois. C'est le symbole </>

Merci ! ;)
Site web    
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2971

Le 11/11/2020 à 18h09
Bonjour,

Dans la partie log, on voit que apparmor bloque l' accès au travers du profile.

Citation :
nov. 11 17:21:28 bisane audit[1870]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/bisane/.local/share/akonadi/mysql.conf" pid=1870 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
.

Pour test il faudrait désactiver le profile /usr/bin/mysqld avec la commande

apparmor_parser -R /etc/apparmor.d/<profile>

Aprés je ne sais pas ce que contient le répertoire /etc/apparmor.d/ (que donne un "ls -al /etc/apparmor.d/" ? Edité par nic80 Le 11/11/2020 à 18h13
   
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2971

Le 11/11/2020 à 18h15
Bonjour,

Bien évidemment, la désactivation que j' ai indiqué précédément est en principe temporaire (le temps de tester). Si apparmor est là, c' est qu' il y a une raison !

Le ls est là pour savoir ce qu' il y a dans le répertoire (parce que je doute qu' il y ai /usr/bin/mysqld en tant que fichier !) Edité par nic80 Le 11/11/2020 à 18h17
   
bisane Membre non connecté

Rang

Avatar

Inscrit le : 10/11/2020 à 19h43

Messages: 59

Le 11/11/2020 à 19h02
Tu continues à me parler chinois, nic, mais je continue à faire ce que tu me dis...

Juste, avant, je copie ceci, extrait de ce post :


Code BASH :
bisane@bisane:~$ sudo /etc/init.d/apparmor status -l
● apparmor.service - Load AppArmor profiles
     Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2020-11-11 17:20:06 CET; 1h 21min ago
       Docs: man:apparmor(7)
             https://gitlab.com/apparmor/apparmor/wikis/home/
    Process: 699 ExecStart=/lib/apparmor/apparmor.systemd reload (code=exited, status=0/SUCCESS)
   Main PID: 699 (code=exited, status=0/SUCCESS)
 
nov. 11 17:20:04 bisane systemd[1]: Starting Load AppArmor profiles...
nov. 11 17:20:05 bisane apparmor.systemd[699]: Restarting AppArmor
nov. 11 17:20:05 bisane apparmor.systemd[699]: Reloading AppArmor profiles
nov. 11 17:20:05 bisane apparmor.systemd[718]: Skipping profile in /etc/appa…fox
nov. 11 17:20:06 bisane apparmor.systemd[734]: Skipping profile in /etc/appa…ogd
nov. 11 17:20:06 bisane systemd[1]: Finished Load AppArmor profiles.
Hint: Some lines were ellipsized, use -l to show in full.


nic80 :
que donne un "ls -al /etc/apparmor.d/" ?

Ceci :
Code BASH :
bisane@bisane:~$ ls -al /etc/apparmor.d/
total 172
drwxr-xr-x   7 root root  4096 nov.  11 08:55 .
drwxr-xr-x 167 root root 12288 nov.  11 10:22 ..
drwxr-xr-x   4 root root 12288 oct.   3 10:39 abstractions
drwxr-xr-x   2 root root  4096 sept.  2  2019 disable
drwxr-xr-x   2 root root  4096 sept.  2  2019 force-complain
-rw-r--r--   1 root root   802 mars  22  2018 lightdm-guest-session
drwxr-xr-x   2 root root  4096 nov.   8 19:06 local
-rw-r--r--   1 root root  1313 mai   19 18:59 lsb_release
-rw-r--r--   1 root root  1033 avril 15  2020 mysqld_akonadi
-rw-r--r--   1 root root  1108 mai   19 18:59 nvidia_modprobe
-rw-r--r--   1 root root  3222 mars  11  2020 sbin.dhclient
drwxr-xr-x   5 root root  4096 oct.   3 10:04 tunables
-rw-r--r--   1 root root 11082 juil.  7 15:20 usr.bin.evince
-rw-r--r--   1 root root  8493 juin   3 17:08 usr.bin.firefox
-rw-r--r--   1 root root  3202 févr. 25  2020 usr.bin.man
-rw-r--r--   1 root root  1519 août  14  2019 usr.lib.libreoffice.program.oosplash
-rw-r--r--   1 root root  1227 août  25 00:58 usr.lib.libreoffice.program.senddoc
-rw-r--r--   1 root root 10653 août  25 00:58 usr.lib.libreoffice.program.soffice.bin
-rw-r--r--   1 root root  1046 août  25 00:58 usr.lib.libreoffice.program.xpdfimport
-rw-r--r--   1 root root 26307 oct.   8 09:30 usr.lib.snapd.snap-confine.real
-rw-r--r--   1 root root  5797 avril 24  2020 usr.sbin.cupsd
-rw-r--r--   1 root root   563 mars   5  2019 usr.sbin.haveged
-rw-r--r--   1 root root   672 févr. 19  2020 usr.sbin.ippusbxd
-rw-r--r--   1 root root  2006 oct.  22 15:19 usr.sbin.mysqld
-rw-r--r--   1 root root  1575 févr. 11  2020 usr.sbin.rsyslogd
-rw-r--r--   1 root root  1385 déc.   7  2019 usr.sbin.tcpdump



Code BASH :
bisane@bisane:~$ apparmor_parser -R /etc/apparmor.d/<profile>
bash: erreur de syntaxe près du symbole inattendu « newline »
 

Si j'essaie sans <profile>, ça donne ça :
Code BASH :
bisane@bisane:~$ sudo apparmor_parser -R /etc/apparmor.d/
[sudo] Mot de passe de bisane : 
apparmor_parser : impossible de supprimer << firefox >>.  Profil inexistant
apparmor_parser : impossible de supprimer << /usr/sbin/rsyslogd >>.  Profil inexistant


Avant d'enlever un profil quelconque, j'aimerais bien savoir s'il est possible de le récupérer et comment ! :ange:
Site web    
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2971

Le 11/11/2020 à 19h28
Bonjour,

En fait <profile>, c' est ce qui est indiqué dans la documentation.

Ici pour exclure mysql-akonadi et mysqld, je ferais :

apparmor_parser -R /etc/apparmor.d/mysqld_akonadi
Et
apparmor_parser -R /etc/apparmor.d/mysqld

Et ça pas en root si on veut que ce soit temporaire.

Edit: pour le désactiver completement, il faut creer un lien symbolique (donc en principe pas de raison que le test survive au redémarrage du pc sans ça. Edité par nic80 Le 11/11/2020 à 19h31
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 19h38
nic80 :
Bonjour,

En fait <profile>, c' est ce qui est indiqué dans la documentation.

Ici pour exclure mysql-akonadi et mysqld, je ferais :

apparmor_parser -R /etc/apparmor.d/mysqld_akonadi
Et
apparmor_parser -R /etc/apparmor.d/mysqld

Et ça pas en root si on veut que ce soit temporaire.

Edit: pour le désactiver completement, il faut creer un lien symbolique (donc en principe pas de raison que le test survive au redémarrage du pc sans ça.

:pasdrole:
1) si tu ne le fais pas en root, est-ce que ça sera accepté ?
2) comment ça, ça reste temporaire et ça ne survie pas au redémarrage ? on est dans /etc pas dans /dev ni /proc ou /tmp.
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 19h42
Je viens de comprendre en lisant :
http://www.linuxcertif.com/man/8/apparmor_parser/
et
https://wiki.debian.org/AppArmor/HowToUse
Citation :
List all loaded AppArmor profiles for applications and processes and detail their status (enforced, complain, unconfined):

$ sudo aa-status

Ok, c'est chargé/déchargé, et on ne vient pas modifier les fichiers dans /etc. Donc tant qu'on utilise apparmor_parser, il n'y a aucune crainte.
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 19h44
D'ailleurs :
https://wiki.debian.org/AppArmor/HowToUse#Diagnose_if_a_bug_might_have_been_caused_by_AppArmor
Citation :
Diagnose if a bug might have been caused by AppArmor

Look in these logs for:

ALLOWED (logged when a profile in complain mode violates the policy)

DENIED (logged when a profile in enforce mode actually blocks an operation)

The full log message should provide more information on what exact access has been denied. You can use this to edit profiles before turning them on in enforce mode.

Sometimes, it's useful to disable a profile and to test again if the bug persists:

Code BASH :
# disable a profile temporarily
$ sudo aa-disable /etc/apparmor.d/usr.bin.example
# after testing, re-enable it in complain mode
$ sudo aa-complain /etc/apparmor.d/usr.bin.example
# or in enforce mode
$ sudo aa-enforce /etc/apparmor.d/usr.bin.example
   
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 19h48
Donc, pour tester de retirer un profile :

Code BASH :
sudo aa-disable /etc/apparmor.d/mysqld_akonadi

On suppose que ça marchera après cette commande. Ensuite, il faut savoir ce qu'il faut réparer du profile !
Je suppose que le mode "se plaindre" pourrait nous dire où est le problème :
Code BASH :
sudo aa-complain /etc/apparmor.d/mysqld_akonadi



Oh ! Je viens de lire juste au dessus :
Citation :
To set a profile to enforce mode, use aa-enforce instead of aa-complain. Beware though: many profiles are not up-to-date and will break functionality in enforce mode, be ready to debug!

Aha !
J'ai envie de dire... Mets à jour ?
   
nic80 Membre non connecté

Rang

Avatar

Inscrit le : 06/08/2018 à 23h52

Messages: 2971

Le 11/11/2020 à 19h50
Bonjour,

D' ailleurs je me suis trompé...

Ce serait plus pour mysqld:

apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

Bien entendu aprés ces commandes, il faudra essayer de redemarrer akonadi (pour voir)

Edit: je pense qu' il faut décharger les 2 (usr.sbin.mysqld et mysqld_akonadi), pas seulement mysqld_akonadi

Edité par nic80 Le 11/11/2020 à 19h54
   
bisane Membre non connecté

Rang

Avatar

Inscrit le : 10/11/2020 à 19h43

Messages: 59

Le 11/11/2020 à 21h22
Je ne comprends pas tout à vos échanges, mais un grand merci d'essayer de m'aider !!!

Je suis repassée momentanément sur Windaube par nécessité, mais je reviens demain ! :nono:
Site web    
Jybz Membre non connecté

Rang

Avatar

Modérateur Administrateur

Inscrit le : 10/10/2018 à 10h26

Messages: 3448

Le 11/11/2020 à 22h29
bisane :
Je ne comprends pas tout à vos échanges, [...] !!!


Ah, désolé, a force d'être dans ce genre de cas, ou se déconnecte de la réalité et je ne comprends plus comment on ne peut pas comprendre ce qu'on dit.

Je ne connais pas AppArmor, mais voici comment je comprends les choses
https://fr.wikipedia.org/wiki/AppArmor
Lorsque "tu" (l'utilisateur 1000 autrement dénommé Bisane) demande à exécuter mysqld, le démon (processus serveur tournant en tâche de fond) du gestionnaire de la base de donnée Mysql, au lieu de l'exécuter bêtement, le système d'exploitation exécute AppArmor qui vient changer l'environnement et contrôler ce qui a le droit de se passer.
Apparmor se base sur des fichiers de profile dans /etc/apparmor.
Lorsque tu as fait une mise à jour, AppArmor a restreint les droits, ou a augmenté en sécurité, mais le profile n'aurait pas été mis à jour. Ainsi, lorsque tu demande à lancer l'application mysqld, il y a AppArmor qui vient se mettre en travers et refuse.

D'après le rapport de bogue trouvé par Nic80, je lis cette phrase :
Serhiy Ivanov :
The auto_installer under debian/ubuntu should be able to adjust apparmor settings for mysqld accordingly to manually chosen folder for configurations.

Si je comprends bien, lorsque Akonadi lance Mysqld (en fait un exécutable /sbin/akonadi-mysqld spécial), il le lance avec un fichier de configuration qui n'est pas par défaut, d'après ton log :
bisane :
org.kde.pim.akonadiserver: executable: "/usr/sbin/mysqld-akonadi"
org.kde.pim.akonadiserver: arguments: ("--defaults-file=/home/bisane/.local/share/akonadi/mysql.conf", "--datadir=/home/bisane/.local/share/akonadi/db_data/", "--socket=/run/user/1000/akonadi/mysql.socket", "--pid-file=/run/user/1000/akonadi/mysql.pid")

[EDIT] : il n'accepterait pas mysqld_akonadi (qui est /usr/sbin/mysqld_akonadi) et ça devrait être /usr/sbin/mysqld, voire plus loin. [ /EDIT]
Et peut-être que le profile de AppArmor ne le permet pas.

Ce n'est peut-être pas ça le problème, mais c'est une piste.

Je souhaite connaitre le contenu du fichier /etc/apparmor/akonadi-mysqld, alors je cherche sur internet et je tombe dessus :
https://forum.kde.org/viewtopic.php?f=215&t=162053&start=15 (lecture en cours...)
Redirige vers un rapport de bogue de KDE :
https://bugs.kde.org/show_bug.cgi?id=411093 (lecture en cours...)
Rien d'intéressant. Ça dit que ce bogue existe, tu n'es pas la seule.
"LE" rapport de bogue qui te concerne, chez Ubuntu :
https://bugs.launchpad.net/ubuntu/+source/akonadi/+bug/1873087

Apparemment, le problème est la manière dont mysqld est appelé.
En remplaçant (le ou les) mysqld_anonadi par /usr/sbin/mysqld dans le fichier /etc/apparmor.d/mysqld_akonadi règlerait le problème.
D'après le rapport de bogue, tu peux le faire en une seule ligne de commande :
Code BASH :
sudo sed 's|mysqld_akonadi|/usr/sbin/mysqld|' -i /etc/apparmor.d/mysqld_akonadi


Tu peux faire une sauvegarde du fichier avant si ça te rassure, mais je pense que ce n'est pas utile.
   
bisane Membre non connecté

Rang

Avatar

Inscrit le : 10/11/2020 à 19h43

Messages: 59

Le 12/11/2020 à 08h01
Alors... comment dire ???? C'est désespérant !!!!

J'ai donc fait
Code BASH :
sudo sed 's|mysqld_akonadi|/usr/sbin/mysqld|' -i /etc/apparmor.d/mysqld_akonadi

Puis
Code BASH :
sudo systemctl reload apparmor

Et
Code BASH :
akonadictl start

Eh bien... J'ai exactement le même résultat !!! :pleur2: :pleur2: :pleur2:
Enfin, je crois ! En tout cas, ça ne marche toujours pas...
Code BASH :
bisane@bisane:~$ akonadictl start
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
bisane@bisane:~$ org.kde.pim.akonadiserver: Starting up the Akonadi Server...
mysqld-akonadi: [ERROR] Failed to open required defaults file: /home/bisane/
mysqld-akonadi: [ERROR] Fatal error in defaults handling. Program aborted!
org.kde.pim.akonadiserver: database server stopped unexpectedly
org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection!
org.kde.pim.akonadiserver: executable: "/usr/sbin/mysqld-akonadi"
org.kde.pim.akonadiserver: arguments: ("--defaults-file=/home/bisane/.local/share/akonadi/mysql.conf", "--datadir=/home/bisane/.local/share/akonadi/db_data/", "--socket=/run/user/1000/akonadi/mysql.socket", "--pid-file=/run/user/1000/akonadi/mysql.pid")
org.kde.pim.akonadiserver: stdout: ""
org.kde.pim.akonadiserver: stderr: ""
org.kde.pim.akonadiserver: exit code: 1
org.kde.pim.akonadiserver: process error: "Unknown error"
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/run/user/1000/akonadi/mysql.socket' (2)'
Check that mysqld is running and that the socket: '/run/user/1000/akonadi/mysql.socket' exists!
org.kde.pim.akonadiserver: Failed to remove runtime connection config file
org.kde.pim.akonadiserver: Shutting down AkonadiServer...
org.kde.pim.akonadicontrol: Application '/usr/bin/akonadiserver' exited normally...


Je ne repère pour ma part aucune différence dans le fichier mysqld-akonadi...
Je joins les 2
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie