Re: Fichier binaire d'un daemon writable ssi le damon est stoppé

Liste des GroupesRevenir à fco bsd 
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.bsd
Date : 13. Jan 2021, 03:56:20
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <5ffe5345$0$16187$426a34cc@news.free.fr>
References : 1 2 3 4 5 6
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
Re,
On 1/12/21 9:32 PM, Christian Weisgerber wrote:

Ce n'est pas ce que je constate sur ma Ubuntu 18.04 (une petite VM de test) :
>
# C'est bête évidemment mais c'est juste pour modifier (n'importe comment)
# le fichier.
~# vim /usr/sbin/apache2
 Essaie quelque chose de simple.
 # echo fdfdjjdf > /usr/sbin/apache2
 Je ne sais pas ce que vim fait. Peut-être il invoque rename(2) ou
unlink(2) et crée un nouveau fichier après.
Bien vu, merci beaucoup. En effet, j'aurais dû le tester. Je ne vais pas
copier/coller les commandes à nouveau mais avec un « ls -li » sur le binaire
pour afficher le numéro d'inode avant et après le vim, on peut constater qu'il
change. Donc tu as raison, vim doit faire un rename ou un unlink. Et si je
regarde les fichiers ouverts par les processus apache2 avec la commande lsof
après modification avec vim, on voit bien le fichier /usr/sbin/apache2 ouvert
mais en deleted. Le fichier n'est donc plus référencé dans l'aborescence du
filesystem mais existe toujours et n'a pas été modifié.
Et enfin, avec un echo comme tu le suggères, j'ai bien comme toi :
~# echo AAAAAAAAA > /usr/sbin/apache2
-bash: /usr/sbin/apache2: Text file busy
Et le echo fonctionne si le service apache2 est stoppé donc.
Bon, ben c'est cool, j'ai appris un truc « système » même si c'est un truc vieux
de 40 ans :). Du coup, comme tu le disais, dans la question qui me préoccupe dans
ce fil, la seule différence est bien au niveau de access() :
1. sur un Linux (en tout cas sur ma Ubuntu 18.04) access() ne renvoie pas d'erreur
sur un ETXTBSY (même si la page man access(2) de ma Ubuntu ne le mentionne nulle
part et mentionne même clairement le contraire).
2. sur une FreeBSD, access() renvoie bien une erreur sur un ETXTBSY.
Par facile de trouver une doc de référence là-dessus. La seule chose que j'ai
trouvée (mais j'ai peut-être mal cherché) c'est cette page
https://pubs.opengroup.org/onlinepubs/9699919799/ où il y a juste à la fin la
mention elliptique suivante :
-----------------------------------------------------
Issue 6
The following new requirements on POSIX implementations derive from alignment
with the Single UNIX Specification:
* The [ELOOP] mandatory error condition is added.
* A second [ENAMETOOLONG] is added as an optional error condition.
* The [ETXTBSY] optional error condition is added. <= Là !
-----------------------------------------------------
J'ai encore une dernière petite interrogation si possible : la vérité ultime
c'est donc que le binaire n'est pas modifiable quand il est en cours d'exécution
(sur un Unix), mais alors pourquoi diable sur Linux les développeurs ont-ils
voulu implémenter une fonction access() qui ne dit pas la vérité (elle dit que
c'est modifiable alors que c'est faux) ? J'avoue que la logique m'échappe un peu.
--
François Lafont

Date Sujet#  Auteur
11 Jan 21 * Fichier binaire d'un daemon writable ssi le damon est stoppé10Francois Lafont
11 Jan 21 `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé9Christian Weisgerber
12 Jan 21  `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé8Francois Lafont
12 Jan 21   +- Re: Fichier binaire d'un daemon writable ssi le damon est stoppé1Francois Lafont
12 Jan 21   `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé6Christian Weisgerber
12 Jan 21    `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé5Francois Lafont
12 Jan 21     `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé4Christian Weisgerber
13 Jan 21      `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé3Francois Lafont
13 Jan 21       `* Re: Fichier binaire d'un daemon writable ssi le damon est stoppé2Christian Weisgerber
14 Jan 21        `- Re: Fichier binaire d'un daemon writable ssi le damon est stoppé1Francois Lafont

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal