¿Por qué SIP evita que use 'dtruss' en un ejecutable fuera de sus carpetas protegidas?

4

Estoy intentando ejecutar el siguiente comando en OS X El Capitan (10.11.4):

sudo dtruss /usr/local/bin/mix phoenix.server

Falla, diciendo:

  

dtrace: no se pudo ejecutar / usr / local / bin / mix: dtrace no puede controlar los ejecutables firmados con derechos restringidos

mix es un ejecutable que instalé con Homebrew. /usr/local/bin/mix es en realidad un enlace simbólico, pero apunta a un archivo anidado bajo /usr/local/Cellar .

La declaración oficial sobre SIP dice que /usr/local se puede escribir para los instaladores (a diferencia de /usr/ en general) . No dice si SIP permite programas de rastreo allí, pero dado que lo instalé yo mismo, parece razonable poder rastrearlo.

¿Hay algo que pueda hacer para permitir el seguimiento de este programa? Ideas que tengo:

  • Deshabilitar SIP por completo (parece de mano dura)
  • Haz que Homebrew instale todo en una carpeta bajo ~ (parece desordenado)
  • Ignore Homebrew y compile mix de la fuente en ~ , luego pruebe el nuevo ejecutable
    • Actualización: mismo fallo. Este realmente no tiene sentido para mí . SIP está desactivado, el ejecutable no está "firmado" desde que lo compilé, y no está en una ubicación restringida. : P
  • Instalar Linux en una máquina virtual. (¿En serio? ¿Tengo que hacer esto?)
pregunta Nathan Long 29.04.2016 - 16:46

0 respuestas

Lea otras preguntas en las etiquetas