Introducción al Error 'Operation not permitted' en macOS
Uno de los problemas más frustrantes para los usuarios avanzados y desarrolladores que utilizan macOS es encontrarse con el mensaje Operation not permitted al intentar ejecutar ciertos comandos o modificar archivos en la Terminal. A pesar de utilizar el comando sudo, macOS restringe el acceso a ciertas ubicaciones del sistema debido a sus estrictas políticas de seguridad.
Causas Principales de este Error en Mac
Este inconveniente suele estar directamente relacionado con las capas de seguridad implementadas por Apple en las versiones recientes de macOS:
- SIP (System Integrity Protection): Protege archivos y carpetas del sistema operativo crítico.
- Privilegios de Acceso Completo al Disco: La Terminal no cuenta con los permisos necesarios para interactuar con ciertas carpetas protegidas (como Documentos, Escritorio o archivos de la biblioteca).
- Restricciones de usuario root: Incluso con privilegios de superusuario, ciertas áreas son inaccesibles por diseño.
Método 1: Otorgar Acceso Completo al Disco a la Terminal
La solución más común y limpia consiste en permitir que la aplicación Terminal tenga acceso completo al almacenamiento de tu Mac.
- Abre las Preferencias del Sistema o Configuración del Sistema en tu Mac.
- Navega hasta la sección Privacidad y seguridad.
- Haz clic en Acceso completo al disco (Full Disk Access).
- Busca la aplicación Terminal en la lista y activa el interruptor correspondiente. Si no aparece, puedes usar el botón '+' para añadirla desde la carpeta
/System/Applications/Utilities/. - Reinicia la Terminal para aplicar los cambios.
Método 2: Verificar y Desactivar Temporalmente SIP (Solo si es estrictamente necesario)
Si necesitas modificar archivos protegidos del sistema raíz y el Método 1 no es suficiente, deberás gestionar la Protección de Integridad del Sistema.
- Apaga tu Mac por completo.
- Enciende tu Mac manteniendo presionado el botón de encendido hasta que aparezca la ventana de opciones de inicio (si es un Mac con Apple Silicon) o presiona
Cmd + Ral encendimiento (en Macs con procesador Intel) para entrar en el modo de recuperación. - Selecciona Utilidades y luego abre la Terminal desde el menú superior.
- Escribe el siguiente comando para verificar el estado:
csrutil status - Si está habilitado y necesitas desactivarlo temporalmente para realizar tu tarea, ejecuta:
csrutil disable - Reinicia tu Mac normalmente, realiza los cambios necesarios y repite el proceso para volver a habilitarlo ejecutando
csrutil enable.