¿Qué es el error Operation Not Permitted en macOS?
El error 'Operation not permitted' (Operación no permitida) es un mensaje de seguridad común en macOS que aparece cuando un usuario, incluso usando privilegios de administrador con el comando sudo, intenta acceder, modificar o ejecutar comandos sobre ciertos archivos o directorios protegidos por el sistema operativo.
Causas principales del error en la Terminal
Este problema no se debe a un fallo de tu ordenador, sino a los mecanismos de protección activa de Apple:
- Protección de Integridad del Sistema (SIP): Una tecnología introducida por Apple para evitar que software malicioso modifique archivos y carpetas esenciales del sistema.
- Falta de Acceso Total al Disco: Por defecto, aplicaciones de línea de comandos como la Terminal o iTerm2 no tienen privilegios para leer datos de usuario confidenciales como correos, mensajes o copias de seguridad de Time Machine.
Método 1: Otorgar Acceso Total al Disco a la Terminal
La solución más común y segura para este error consiste en autorizar a la Terminal para que pueda acceder a todo el almacenamiento del sistema operativo. Sigue estos pasos:
- Haz clic en el menú de Apple (icono de la manzana) en la esquina superior izquierda y selecciona Ajustes del Sistema (o Preferencias del Sistema).
- Dirígete a la sección de Privacidad y seguridad en el menú lateral.
- Desplázate hacia abajo y haz clic en la opción Acceso total al disco.
- Busca la aplicación Terminal en la lista de aplicaciones de la derecha.
- Activa el interruptor junto a Terminal. Es posible que el sistema te pida ingresar tu contraseña de administrador o usar Touch ID.
- Si la Terminal estaba abierta, te aparecerá un aviso indicando que debes cerrarla para aplicar los cambios. Haz clic en Cerrar ahora y vuelve a abrirla.
Una vez completado, puedes verificar si el error se ha resuelto ejecutando un comando de prueba como: ls ~/Library/Messages. Si se listan los archivos, el acceso ha sido concedido correctamente.
Método 2: Desactivar temporalmente la Protección de Integridad del Sistema (SIP)
Si necesitas modificar archivos profundos del sistema que siguen bloqueados tras el Método 1, deberás desactivar temporalmente el SIP. Nota de seguridad: Recuerda volver a activarlo una vez termines tus tareas.
- Apaga tu Mac por completo.
- Enciende el Mac en Modo de recuperación. En Macs con procesador Intel, mantén presionadas las teclas
Cmd + Ral encender. En Macs con Apple Silicon (M1, M2, M3), mantén pulsado el botón de encendido hasta que aparezca 'Cargando opciones de inicio'. - En la barra de menús superior, ve a Utilidades y selecciona Terminal.
- Para desactivar SIP, escribe el siguiente comando y presiona Enter:
csrutil disable - Reinicia tu Mac normalmente desde el menú de Apple.
Una vez realices las modificaciones necesarias en tu terminal, vuelve a entrar al Modo de recuperación y reactiva la protección con el comando: csrutil enable
Método 3: Solución mediante iTerm2 u otros emuladores de consola
Si utilizas clientes alternativos como iTerm2 o editores de código como VS Code, debes repetir el proceso del Método 1 para cada herramienta específica. Agrega estas aplicaciones en la misma ventana de Acceso total al disco para evitar que bloqueen la ejecución de scripts automatizados.