J'ai une application qui écrit des informations dans un fichier, et je désirerai que ce fichier soit en lecture seule pour tous les utilisateurs/programmes (excepté mon application) tant que mon application n'est pas terminée. Donc je veux que n'importe qui puisse lire le contenu du fichier mais pas l'éditer.
Quelqu'un a t'il une idée ou une piste pour m'aider ?
# grosse bidouille
Posté par ecyrbe . Évalué à 1.
- Crée un utilisateur spécial avec les droits sur ton fichier et tout le monde en groupe.
- Quand tu écris sur ton fichier tu change les droits d'accès au groupe et users pour qu'ils n'aient accès qu'en lecture.
- Accède à ton fichier en écriture avec ton compte spécial.
- Une fois fini tu remets tout comme avant.
[^] # Re: grosse bidouille
Posté par Obsidian . Évalué à 3.
Ce qu'il veut faire, c'est un verrou, tout simplement (ou lock).
man flock
man lockf
A noter que flock() propose des verrous consultatifs par défaut (advisory). Pour créer des verrous obligatoires (mandatory), il faut passer une option spéciale à mount.
Voir aussi :
/usr/src/linux/Documentation/locks.txt
/usr/src/linux/Documentation/mandatory.txt
Toutefois, il est effectivement important de régler correctement les droits d'un fichier avant de commencer à régler des problèmes par ce genre de solution.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.