$ cat findbadfiles.stp
// findbadfiles.stp GOOD_UID BAD_UID
global good
global bad
probe syscall.open {
if (execname() == "openshot") {
if (uid() == 1ドル) {
good[$filename] = 1
}
if (uid() == 2ドル) {
bad[$filename] = 1
}
}
}
probe end {
foreach (file in bad) {
if (!good[file]) {
printf("%s\n", file)
}
}
}
Si le bon utilisateur a l'UID 1000 et le mauvais 1001, ça se lance comme ça :
# stap findbadfiles.stp 1000 1001
Après tu lances le programme avec le bon utilisateur et le mauvais. Une fois que c'est fait, tu interromps le script SystemTap et il va t'afficher les fichiers qui ont été ouvert dans le cas qui a merdé mais pas dans l'autre.
J'ai absolument pas testé.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# et avec SystemTap
Posté par Krunch (courriel, site web personnel) . En réponse au message Ça marchait, ça marche plus ? strace est ton ami.. Évalué à 7.
$ cat findbadfiles.stp // findbadfiles.stp GOOD_UID BAD_UID global good global bad probe syscall.open { if (execname() == "openshot") { if (uid() == 1ドル) { good[$filename] = 1 } if (uid() == 2ドル) { bad[$filename] = 1 } } } probe end { foreach (file in bad) { if (!good[file]) { printf("%s\n", file) } } }Si le bon utilisateur a l'UID 1000 et le mauvais 1001, ça se lance comme ça : Après tu lances le programme avec le bon utilisateur et le mauvais. Une fois que c'est fait, tu interromps le script SystemTap et il va t'afficher les fichiers qui ont été ouvert dans le cas qui a merdé mais pas dans l'autre. J'ai absolument pas testé.pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.