Introducción al fallo 'Operation not permitted' en macOS
Al utilizar la consola o Terminal en macOS, es muy común encontrarse con el mensaje de error Operation not permitted al intentar modificar archivos, mover directorios o ejecutar scripts. Este bloqueo ocurre incluso cuando utilizas el comando sudo con permisos de administrador, lo que genera confusión en muchos usuarios.
¿Por qué ocurre este error de permisos en Mac?
Desde la introducción de macOS Mojave y versiones posteriores como Monterey, Ventura y Sonoma, Apple ha reforzado los mecanismos de seguridad del sistema operativo. Las principales causas de esta restricción son:
- Acceso Restringido al Disco: La aplicación Terminal no cuenta con el permiso explícito del sistema para acceder a carpetas protegidas como Escritorio, Documentos, Descargas o datos de aplicaciones.
- Protección de Integridad del Sistema (SIP): Una característica de seguridad de macOS que restringe las acciones que el usuario root puede realizar sobre archivos protegidos del sistema.
Método 1: Otorgar Acceso Total al Disco a la Terminal
Esta es la solución recomendada y más rápida para corregir el error en el 90% de los casos sin comprometer la seguridad general del sistema.
- Haz clic en el menú de Apple (icono de la manzana) y abre Ajustes del Sistema (o Preferencias del Sistema).
- Navega hasta el apartado de Privacidad y seguridad.
- Desplázate hacia abajo y selecciona la opción Acceso total al disco.
- Busca en la lista la aplicación Terminal y activa el interruptor adyacente.
- Si la Terminal no aparece en la lista, haz clic en el botón
+en la parte inferior, introduce tu contraseña de administrador y selecciona la aplicación desdeAplicaciones/Utilidades/Terminal. - Cierra por completo la Terminal ejecutando el comando
exity vuelve a abrirla para aplicar los cambios.
Método 2: Desactivar Temporalmente la Protección de Integridad del Sistema (SIP)
Si necesitas modificar ficheros protegidos del propio sistema operativo y el primer método no surte efecto, deberás ajustar la función SIP de macOS.
- Apaga completamente tu ordenador Mac.
- Inicia en Modo de Recuperación: en un Mac con Intel, mantén presionadas las teclas
Comando + Ral encender. En un Mac con chip Apple Silicon (M1/M2/M3), mantén pulsado el botón de encendido hasta ver las opciones de arranque. - En el menú superior, selecciona Utilidades y luego abre la Terminal.
- Escribe el siguiente comando y presiona Enter:
csrutil disable - Reinicia tu sistema escribiendo el comando
reboot. - Una vez que hayas terminado las tareas necesarias en el sistema, vuelve a activar la función repitiendo los pasos pero ingresando el comando
csrutil enablepor seguridad.