Le contexte :
Après la mise à jour de la 14.04 à 16.04, squid ne veut plus démarrer. Un
Code : Tout sélectionner
squid -d4
Code : Tout sélectionner
Ipc::Mem::Segment::create failed to shm_open(/squid-cf__metadata.shm): (13) Permission denied
Essai 1 : désactivation temporaire de apparmor avec
Code : Tout sélectionner
service apparmor stop
Essai 2 : test en utilisateur
Squid fonctionne avec l'utilisateur et le groupe proxy. Dans /etc/passwd, on active le /bin/bash pour l'utilisateur proxy et on fait le simple test
Code : Tout sélectionner
su proxy
touch /dev/shm/aa
ls -l aa
rm /dev/shm/aa
Analyse
Il est curieux que le noyau autorise l'écriture dans /dev/shm via bash, mais pas via le binaire de squid, ce qui laisse à penser qu'apparmor est bien en cause quelque part.
On essaie donc de lancer le profil apparmor de squid à la main via:
Code : Tout sélectionner
# apparmor_parser -r /etc/apparmor.d/usr.sbin.squid
Skipping profile in /etc/apparmor.d/disable: usr.sbin.squid
La désactivation des profils sous apparmor repose sur de simples liens symboliques. Un petit ls dans /etc/apparmor.d/disable/ et l'on trouve
Code : Tout sélectionner
usr.sbin.squid -> /etc/apparmor.d/usr.sbin.squid