¿Cómo desactivo la Protección de Integridad del Sistema (SIP) AKA "sin raíz" en macOs

Apple introdujo System Integrity Protection , también conocido como "sin raíz", con OS X 10.11, El Capitan. Entiendo que este es un paso para la protección general contra el malware, pero como desarrollador necesito acceso de escritura a algunos de los files que bloquea.

¿Cómo desactivo esta protección?

  • Cómo volver a habilitar la protección de integridad del sistema
  • personalizar los arguments del launchagent del sistema en el capitan
  • ¿Cómo puedo eliminar una aplicación preinstalada en macOS Sierra?
  • ¿Cómo instalar de forma segura rEFind desde el modo de recuperación?
  • ¿Cómo eliminar mi Backupdb.backupsdb local?
  • El Capitán, haz check, DYLD_LIBRARY_PATH
  • ¿Qué está haciendo Apple con UUCP?
  • dtrace errores al ejecutar opensnoop en El Capitan
  • 6 Solutions collect form web for “¿Cómo desactivo la Protección de Integridad del Sistema (SIP) AKA "sin raíz" en macOs”

    La documentation de Apple cubre la desactivación de SIP, Acerca de la protección de la integridad del sistema en su Mac y Configuración de la Protección de la integridad del sistema .

    Un artículo sobre lifehacker.com enumera estos pasos:

    1. Reinicie su Mac en modo de recuperación reiniciando su computadora y presionando Comando + R hasta que aparezca el logotipo de Apple en su pantalla.
    2. Haga clic en Utilidades> Terminal.
    3. En la window de la Terminal, escriba csrutil disable y presione Enter .
    4. Reinicia tu Mac.

    Puede verificar si un file o carpeta está restringido emitiendo este command ls usando la O mayúscula (y no cero 0) para modificar el indicador de listdo largo:

     ls -lO /System /usr 

    Busque el text restringido para indicar dónde se aplica SIP.

    De forma pnetworkingeterminada (= SIP habilitado), las siguientes carpetas están restringidas (consulte la página de Soporte de Apple ):

     /System /usr /bin /sbin Apps that are pre-installed with OS X 

    … y las siguientes carpetas son gratuitas:

     /Applications /Library /usr/local 

    Es posible desactivar SIP arrancando en Recovery HD y ejecutando el siguiente command:

     csrutil disable 

    enter image description here

    También es posible habilitar las protecciones SIP y desactivar aspectos selectivamente, agregando uno o más indicadores al command csrutil enable . Todos requieren que se inicie desde Recovery para configurarlos:

    Habilite SIP y permita la installation de extensiones de kernel no firmadas

     csrutil enable --without kext 

    enter image description here

    Habilite SIP y deshabilite las protecciones del sistema de files

     csrutil enable --without fs 

    enter image description here

    Habilite SIP y deshabilite las restricciones de debugging

     csrutil enable --without debug 

    enter image description here

    Habilite SIP y deshabilite las restricciones de DTrace

     csrutil enable --without dtrace 

    enter image description here

    Habilite SIP y deshabilite las restricciones al escribir en NVRAM

     csrutil enable --without nvram 

    enter image description here

    También tengo una publicación disponible con más información sobre SIP:

    Protección de Integridad del Sistema – Agregar otra capa al model de security de Apple

    Si el objective es simplemente deshabilitar la Protección de Integridad del Sistema, entonces el arranque en la partición Recovery HD como se recomendó anteriormente en las otras respuestas aquí a través de Command + r en el arranque no es la forma más rápida de hacerlo.

    Puede combinar el inicio de modo de usuario único con el inicio de HD de recuperación en una combinación de teclas de inicio no documentadas:

    Esto lo lleva al medio ambiente mínimo que se necesita para esto directamente .

    Si todo lo que necesita es acceder a / usr / local, eche un vistazo a esta página: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md

    La idea es deshabilitar temporalmente SIP usando csrutil disable , add /usr/local , usar chflags para establecer ese directory en no restringido

      sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local 

    y luego vuelva a habilitar SIP usando csrutil enable .

    Si /usr/local ya existe en el momento de su actualización, incluso el anterior no es necesario. Simplemente puede ejecutar

     sudo chown -R $(whoami):admin /usr/local 

    Sería más seguro modificar /etc/paths para que /usr/local/bin sea ​​simplemente antes de usr/bin . De esta forma, puede hacer su trabajo de desarrollo en /usr/local/bin sin tener que deshabilitar SIP.

    Las instalaciones limpias del sistema operativo han orderado /etc/paths esta manera desde El Capitán, pero si estuviera actualizando el sistema operativo de Yosemite o antes, tendría que modificar el order de ruta de forma manual.

    Si no puede acceder a Recovery Partition para ejecutar csrutil disable , intente configurar nvram boot args, por ej.

     sudo nvram boot-args="rootless=0" 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).