• # et avec SystemTap

    Posté par (courriel, site web personnel) . En réponse au message Ça marchait, ça marche plus ? strace est ton ami.. Évalué à 7.

    On pourrait aussi faire un truc comme ceci :
    $ 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.