J'ai fait l'installation du serveur de licence Matlab (flexlm) en
suivant les indications fournie par Mathworks, le serveur fonctionnait
lorsqu'il était lancé "à la main" par l'utilisateur non-privilégié
mais pas lorsqu'il était lancé par la commande "/etc/init.d/flexlm
start".
J'avais les logs suivants :
Apr 29 16:22:24 leserver kernel: [ 3371.877900] type=1702 audit(1367245344.001:56): op=follow_link action=denied pid=481 comm="lmboot_TMW" path="/var/tmp/lm_TMW.vd1" dev="sdb6" ino=391685
En gros, cette protection interdit l’exécution d'un binaire via un
lien qui est placé dans un répertoire temporaire.
root@leserver:~# ls -ld /var/tmp
drwxrwxrwt 2 root root 4096 Apr 30 11:13 /var/tmp
root@leserver:~# ls /var/tmp/lm_TMW.vd1 -l
lrwxrwxrwx 1 flexnet lpo 54 Apr 30 11:12 /var/tmp/lm_TMW.vd1 -> /export/home1/matlab/MATLAB_R2012b.app/etc/glnxa64/MLM
Cette protection peux être désactivée temporairement via :
echo 0 > /proc/sys/fs/protected_symlinks
echo 0 > /proc/sys/fs/protected_hardlinks
Ou durablement en créant un fichier :
/etc/sysctl.d/disablesymhardprotect.conf (par exemple)
Contenant :
fs.protected_symlinks=0
fs.protected_hardlinks=0
La solution la plus durable serait de modifier la méthode de lancement
de flexnet pour prendre en compte cette nouvelle sécurité qui
impactera tout les systèmes Linux d'ici quelques temps.