Nous avons le client Windows Sensu qui fonctionne sur plusieurs systèmes 2008 R2. L'un de nos contrôles appelle un fichier batch pour recueillir des informations et faire un rapport. Nous recevons sporadiquement le message "Unknown : Unexpected error : Access is denied (5)" pour ces contrôles - aucune fréquence standard, aucune corrélation... le contrôle suivant s'exécute correctement sans problème.
J'ai retracé l'appel à travers la pile et les Code Ruby Sensu ) génère le processus enfant de 'cmd.exe /c "/path/to/batch.bat parameters"' sans problème. Je peux recréer le problème en supprimant tout accès NTFS au fichier batch lui-même. Si vous exécutez cmd /c batch.bat avec ces permissions supprimées, vous obtiendrez la même erreur "Access is denied (5)".
Ok, super, il a des problèmes pour accéder au fichier. Pourquoi ? J'ai lancé les traces du moniteur de processus et je ne trouve absolument rien d'anormal dans le processus : ruby se charge, cmd.exe est appelé, cmd.exe lit le fichier sans erreur visible, puis il renvoie le contrôle comme Accès refusé. Qu'est-ce que... ?
Je n'ai plus d'idées. Quelques informations complémentaires au cas où elles seraient utiles : les binaires ruby sont exécutés en 32 bits ; le client Sensu est la dernière version du site Sensuapp ; le système exécute System Center Endpoint Protection. Qu'est-ce qui me manque ?