Michel Luc wrote:

Le mercredi 15 juin 2005 à 00:29 +0200, Luc Novales a écrit :
Michel Luc a écrit :
Bonsoir,

Je cherche comment verrouiller l'accès à un fichier dans un script
shell sans en changer les droits.
Si vous avez des indications, liens... etc.
Je suis preneur, merci.
man chattr ?

Merci pour la réponse, mais je me suis mal exprimé, en fait je ne crois
pas que changer les attributs avec chattr fonctionne pour ce que je veux
faire: Voilà, la crontab met à jour une base de données (genre slocate)
dans un fichier db et je voudrai verrouiller ce fichier pendant la mise
à jour qui dure plusieurs minutes. la tâche lancée par cron et l'admin
ont les droits root.
un fichier lock comme pour les MUA MTA lors des écritures/lectures dans
les mbox des utilisateurs, ce doit être possible, non ? Merci.

 @+
Bonsoir,

Un fichier lock est possible avec la commande "lockfile",
mais elle ne prévient pas des modifications 'sauvages';
c'est un verrouillage 'coopératif'.
Si vous 'maîtrisez' ( par des scripts ) les autres accès au fichier sensible,
"lockfile" peut être une solution.
( Rq: 'mbox' n'est-il pas sensible à des modifications 'sauvages' ? )
Le verrouillage dans un script Shell n'est pas évident autrement
car il est généralement attaché à un processus, or chaque commande
du script est un processus.

Sinon, une programation C permet de créer des verrous 'stricts',
( et des verrous coopératifs, bien entendu )
avec la fonction fcntl().
Ses verrous 'stricts' nécessitent un changement de bit Set-GID
et la gestion par le noyau des "mandatory locks", gérés uniquement
sur les partitions montées avec l'option "mand".

Si vous trouvez des informations complémentaires
je serais heureux que vous les communiquiez
car se sujet m'interresse personnellement.


matthias


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à