Carpetas / archivos “restringidos” en OS X El Capitan

Después de actualizar de OS X Yosemite a OS X El Capitan Developer Preview, intenté editar /System/Library/LaunchDaemons/ssh.plist para cambiar el puerto SSH predeterminado por uno personalizado. Este es el proceso que he estado usando durante un par de años.

El problema es que El Capitán no me permite cambiar nada en esta carpeta (ni siquiera con “sudo”). La carpeta y sus archivos están marcados como “restringidos” cuando enumero el contenido con “ls -lO” . La misma lista de carpetas en versiones anteriores de OS X no muestra “restringido”.

¿Es esto algo nuevo para OS X El Capitan? ¿Cómo puedo editar archivos / carpetas que están “restringidos” ?


Descubrí que esto se debe a una nueva característica presentada en El Capitán llamada “SIP” (Protección de Integridad del Sistema) .

Lea más aquí: https://forums.developer.apple.com/thread/4731?q=SIP

Desafortunadamente, nadie sugirió una forma de editar archivos / carpetas “restringidos” sin deshabilitar SIP.

También puede desactivar temporalmente SIP de la siguiente manera

  1. reiniciar
  2. tan pronto como escuche el “sonido Mac” en la pantalla gris, presione Cmd + R para ingresar al modo Recuperación
  3. Abrir Utilidades-> Terminal
  4. Ejecute el comando csrutil disable
  5. Reinicie, aterrizará en el sistema operativo normal con SIP deshabilitado
  6. hacer todos los cambios que le gustaría hacer
  7. Reiniciar de nuevo
  8. tan pronto como escuche el “sonido Mac” en la pantalla gris, presione Cmd + R para ingresar al modo Recuperación
  9. Habilitar SIP con csrutil enable
  10. Reiniciar de nuevo
  11. hecho

Hasta el 10.11 desprotege ciertos archivos en / Sistema / Biblioteca o le permite hacerlo usted mismo, la única manera sin desactivar SIP sería hacer un servicio diferente al hacer frente al archivo en otro lugar, como:

 sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh.plist 

Y luego, en lugar de usar el panel Compartir en Preferencias del sistema, usted mismo administraría el servicio:

 sudo launchctl unload /Library/LaunchDaemons/ssh.plist sudo launchctl load -w /Library/LaunchDaemons/ssh.plist 

Sugeriría que intentes agregar cualquier argumento que necesites a un plist en / Library / Preferences /. Por ejemplo, en mi caso, tuve que hacer una pequeña modificación a mDNSResponder para agregar el indicador AlwaysAppendSearchDomains. Como sugirieron los “bwells” en los foros de desarrolladores de Apple, solo tuve que hacer

 sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool YES sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist 

Este es un enfoque mucho más limpio y persiste durante los reinicios y también debe sobrevivir a una actualización (al menos durante las versiones beta mis cambios manuales después de deshabilitar SIP fueron sobrescritos). Tenga en cuenta, que yo sepa, esto es nuevo para El Capitán.

También puede dejar SIP habilitado mientras deshabilita la administración del sistema de archivos. Reinicie en modo de recuperación y ejecute:

 csrutil enable --without fs 

Esto le permitirá cambiar los permisos según sea necesario.

Utilizo el clonador de copia de carbono para hacer copias de seguridad clonables … y tengo varias en rotación.

Según mike at bombich, “SIP solo se aplica al volumen desde el que está arrancando actualmente, por lo que [uno puede] arrancar desde el volumen de la copia de seguridad para eliminar [archivos]”.

Utilicé la respuesta de johannes (unidad de recuperación, csrutil enable / disable), pero eso requiere reiniciar -> unidad de recuperación -> desactivar sip -> reiniciar -> eliminar mierda -> reiniciar -> recuperar unidad -> volver a conectar sip – > reiniciar … cuatro reinicios.

Pero arrancar desde un clon y ver la unidad original como una unidad secundaria te permitiría eliminar archivos problemáticos en dos reinicios … ¿sí?

  1. Simplemente inicie en el modo “Recuperación” presionando “CMD + R” mientras reinicia.
  2. Terminal abierto
  3. Su disco se montará en / Volumes / Macintosh HD
  4. Eliminar archivos mediante “rm”: tiene control absoluto en esa terminal.

Puede “pasar” la protección SIP modificando los permisos en el archivo a través de la aplicación Finder para el grupo del sistema.

modificando permisos

Me funcionó bien incluso después de reiniciar, estoy corriendo

ProductName: Mac OS X ProductVersion: 10.11 BuildVersion: 15A284