Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment surveiller un fichier présent dans un repertoire

18 réponses
Avatar
Guytou
Bonjour à TOUS,



Comment surveiller efficacement un fichier présent dans un répertoire.

1/ Pour être informé dés sa suppression

3/ Pour savoir quand il a été supprimé

2/ Pour connaitre quel user l'a supprimé en utilisant quelle commande UNIX
ou script



Voici le script que j'ai écrit pour la surveillance de mon fichier.



#!bin/ksh

dateplus="date '+%a %d %h %y, %T'



# supprime.txt fichier qui reçoit les informations sur mon fichier
supprimé.

# toto.txt c'est le fichier à surveiller



cat $REPERTOIRE/toto.txt

if [ $? -ne 0 ]

then

echo "Le fichier toto.txt vient d'être SUPPRIME a $dateplus" >
supprime.txt



# Je crée la liste des process et user présent sur le serveur au moment de
la suppression de mon fichier

ps -edf >> supprime.txt



# J'envoie le fichier supprime.txt sous forme de mail

cat supprime.txt | mailx -s "Voici la liste des PROCESS et user sur
le serveur" mon_adresse@mail

exit 1



fi

echo "Le fichier toto.txt est PRESENT" > supprime.txt

exit 0



Mon problème est de savoir, dans la mesure du possible, quel user à
supprimer mon fichier avec quelle commande ou script.

Je n'arrive pas à exploiter le résultat de la commande "ps -edf"



Merci par avance à tous ceux qui vont m'aider à trouver une solution



guytou

10 réponses

1 2
Avatar
LinuxKiller
Guytou wrote:

Mon problème est de savoir, dans la mesure du possible, quel user à
supprimer mon fichier avec quelle commande ou script.


Si le user lambda peut effacer les fichiers du user alpha, c'est grave !
Si un user basique a supprimé ton noyau, c'est très grave !!!

Avatar
Rakotomandimby (R12y) Mihamina
Guytou wrote:

Mon problème est de savoir, dans la mesure du possible, quel user à
supprimer mon fichier avec quelle commande ou script.


Est-ce que si l'effacement est effectué via un "echo '' > fichier" ça doit
aussi etre comptabilisé?

Avatar
Guytou
Est-ce que si l'effacement est effectué via un "echo '' > fichier" ça doit
aussi etre comptabilisé?


Bonjour à Tous,
Bonjour Mihamina

OUI, j'aimerai dans la mesure du possible que tout type d'effacement soit
comptabilisé.
Le but est de savoir qui a supprimé et avec quelle commande ou script.

Merci de votre participation.

GUYTOU

"Rakotomandimby (R12y) Mihamina"
a écrit dans le message de
news: eqtfs3$2k0g$
Guytou wrote:

Mon problème est de savoir, dans la mesure du possible, quel user à
supprimer mon fichier avec quelle commande ou script.


Est-ce que si l'effacement est effectué via un "echo '' > fichier" ça doit
aussi etre comptabilisé?



Avatar
Pascal Bourguignon
"Guytou" writes:
OUI, j'aimerai dans la mesure du possible que tout type d'effacement soit
comptabilisé.
Le but est de savoir qui a supprimé et avec quelle commande ou script.



Il y a le "process accounting" qui "comptabilise" toutes les commandes
exécutées sur un système unix, mais en général, ça ne garde pas trace
des arguments, alors on ne saurait pas quel argument a été donné à
rm(1) et de toutes façons, on peut supprimer des fichiers avec à peu
près n'importe quel programme...

Donc, le plus fiable serait de "patcher" le noyau. Sur Linux, il est
possible qu'il y ait une version du noyau ou au moins un file system
qui garde trace (audit) de ce genre d'information. Voir peut être,
SELinux http://www.nsa.gov/selinux/ ou googled sur Linux audit trail
il y a peut être quelque chose déjà fait dans ce domaine.

--
__Pascal Bourguignon__ http://www.informatimago.com/

HEALTH WARNING: Care should be taken when lifting this product,
since its mass, and thus its weight, is dependent on its velocity
relative to the user.

Avatar
Alain Ketterlin
"Guytou" writes:

Comment surveiller efficacement un fichier présent dans un répertoire.

1/ Pour être informé dés sa suppression
3/ Pour savoir quand il a été supprimé


Si c'est sous Linux, il y a inotify(7).

2/ Pour connaitre quel user l'a supprimé en utilisant quelle
commande UNIX ou script


Ca, ça me semble sans espoir...

# Je crée la liste des process et user présent sur le serveur au
moment de la suppression de mon fichier
ps -edf >> supprime.txt


:-) J'espère que tu ne comptes pas trop là-dessus. Sinon, tu peux
regarder du coté de utmp et wtmp.

-- Alain.

Avatar
Marc Mezzarobba
Donc, le plus fiable serait de "patcher" le noyau. Sur Linux, il est
possible qu'il y ait une version du noyau ou au moins un file system
qui garde trace (audit) de ce genre d'information.


Il doit même être possible d'écrire un système de fichiers fuse qui rajoute
ça par-dessus n'importe quel système de fichiers normal, non ?

--
Marc Mezzarobba

Avatar
Vincent Lefevre
Dans l'article <eqtbm6$m55$,
LinuxKiller écrit:

Si le user lambda peut effacer les fichiers du user alpha, c'est grave !


Je ne vois pas le problème. C'est bien utile sur des répertoires
partagés (genre site web maintenu à plusieurs). Ça évite, quand
alpha n'est pas là, de se retrouver bloqué avec un truc à modifier
d'urgence (et ça évite de créer un utilisateur spécialisé pour
cela).

Si un user basique a supprimé ton noyau, c'est très grave !!!


Là, c'est autre chose...

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

Avatar
Rakotomandimby (R12y) Mihamina
Vincent Lefevre wrote:
Je ne vois pas le problème. C'est bien utile sur des répertoires
partagés (genre site web maintenu à plusieurs). Ça évite, quand
alpha n'est pas là, de se retrouver bloqué avec un truc à modifier
d'urgence (et ça évite de créer un utilisateur spécialisé pour
cela).


Oui, mais dans ce cas de figure:
- On ne travaille pas directement sur la machine de production (on réduit
déjà un peu la gravité des erreurs)
- On utilise l'un des outils de gestion de travail collaboratif qui existent
(SVN, CVS,... pour les développeurs ou autre CMS pour les autres, avec ce
qu'il y a comme outils, il y en a pour tous les profils)

Avatar
Pascal Bourguignon
Marc Mezzarobba <mm$ writes:

Donc, le plus fiable serait de "patcher" le noyau. Sur Linux, il est
possible qu'il y ait une version du noyau ou au moins un file system
qui garde trace (audit) de ce genre d'information.


Il doit même être possible d'écrire un système de fichiers fuse qui rajoute
ça par-dessus n'importe quel système de fichiers normal, non ?


Oui, tout à fait.

--
__Pascal Bourguignon__ http://www.informatimago.com/

"Debugging? Klingons do not debug! Our software does not coddle the
weak."


Avatar
Vincent Lefevre
Dans l'article <eqv0jg$291n$,
"Rakotomandimby (R12y) Mihamina" écrit:

- On ne travaille pas directement sur la machine de production (on réduit
déjà un peu la gravité des erreurs)


Ben si, puisque c'est pour mettre à jour le site.

- On utilise l'un des outils de gestion de travail collaboratif qui existent
(SVN, CVS,... pour les développeurs ou autre CMS pour les autres, avec ce
qu'il y a comme outils, il y en a pour tous les profils)


Subversion, etc., c'est plutôt fait pour les sources, mais pas pour
les fichiers eux-mêmes qui seront sur le serveur.

--
Vincent Lefèvre - Web: <http://www.vinc17.org/&gt;
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/&gt;
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)

1 2