Sujet : Re: Fichier binaire d'un daemon writable ssi le damon est stoppé
De : francois.lafont (at) *nospam* nospam.invalid (Francois Lafont)
Groupes : fr.comp.os.bsdOrganisation : Guest of ProXad - France
Date : 12. Jan 2021, 20:30:01
Message-ID : <5ffdeaa9$0$4026$426a74cc@news.free.fr>References : 1 2 3 4User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
Bonsoir,
On 1/12/21 3:54 PM, Christian Weisgerber wrote:
Sur cette Ubuntu, j'ai un daemon Apache2 qui tourne via le binaire
/usr/sbin/apache2. Comme tu peux voir ci-dessous, je n'ai pas le même
comportement qu'avec FreeBSD :
~# b=/usr/sbin/apache2
~# [ -w "$b" ] && echo WRITABLE
WRITABLE
Si tu essaies de surécrire le binaire, ça va quand même échouer
avec une erreur ETXTBSY.
Ce n'est pas ce que je constate sur ma Ubuntu 18.04 (une petite VM de test) :
------------------------------------------------------------------------
~# whoami
root
# Mon service Apache2 en cours d'exécution.
~# service apache2 status
* apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
`-apache2-systemd.conf
Active: active (running) since Tue 2021-01-12 19:22:04 CET; 11s ago
Main PID: 948 (apache2)
Tasks: 55 (limit: 2375)
CGroup: /system.slice/apache2.service
|-948 /usr/sbin/apache2 -k start
|-951 /usr/sbin/apache2 -k start
`-952 /usr/sbin/apache2 -k start
Jan 12 19:22:04 bionic-vbox systemd[1]: Starting The Apache HTTP Server...
Jan 12 19:22:04 bionic-vbox systemd[1]: Started The Apache HTTP Server.
~# ls -l /usr/sbin/apache2
-rwxr-xr-x 1 root root 671392 Aug 12 23:33 /usr/sbin/apache2
~# sha1sum /usr/sbin/apache2
013eebcb901aa2c3e1ea7057e08811563fc866c7 /usr/sbin/apache2
# C'est bête évidemment mais c'est juste pour modifier (n'importe comment)
# le fichier.
~# vim /usr/sbin/apache2
# Et j'ai bien modifié le fichier sans erreur.
# Autant dire qu'en modifiant le fichier avec vim, je l'ai complètement
# corrompu mais j'ai quand même pu le modifier, l'opération n'a pas échoué.
~# sha1sum /usr/sbin/apache2
6adbc993c5de98abe63c930629f200646c9ae978 /usr/sbin/apache2
------------------------------------------------------------------------
Au passage, après la modification, le service Apache2 fonctionne toujours
sur la VM. Par contre, si je fais un restart du service, évidemment ça plante
car le binaire est corrompu.
Du coup, je suis toujours perplexe quant à cette différence de comportement
entre FreeBSD et Linux.
-- François Lafont