Introducción al Error 'Operación no permitida' en macOS
Uno de los dolores de cabeza más comunes para los usuarios avanzados y administradores de macOS es encontrarse con el mensaje Operación no permitida (o Operation not permitted) al intentar mover, eliminar o modificar ciertos archivos y carpetas del sistema mediante la terminal o el Finder. Este mensaje suele generar frustración, pero en realidad es una medida de seguridad implementada por Apple para proteger la integridad del sistema operativo.
Causas Principales de este Error en Mac
Existen principalmente dos motivos por los cuales macOS restringe el acceso a determinados directorios:
- SIP (System Integrity Protection): Es una función de seguridad de macOS que protege archivos y carpetas críticos del sistema contra modificaciones accidentales o maliciosas.
- Permisos restrictivos de usuario: El archivo o directorio pertenece al usuario
rooto tiene atributos extendidos (flags) que impiden su escritura, incluso si ejecutas comandos con privilegios elevados (sudo).
Método 1: Desactivar Temporalmente el SIP (System Integrity Protection)
Si necesitas modificar archivos protegidos del sistema, la causa más probable sea el SIP. Sigue estos pasos para desactivarlo de forma segura:
- Apaga tu Mac por completo desde el menú de Apple.
- Enciende tu Mac manteniendo presionados los botones
Command + R(si es un Mac con procesador Intel) o mantén presionado el botón de encendido hasta ver las opciones de inicio (si es un Mac con Apple Silicon M1/M2/M3). - Accede a la Terminal desde el menú Utilidades.
- Escribe el siguiente comando y presiona Enter:
csrutil disable - Reinicia tu Mac normalmente. Ahora podrás realizar los cambios necesarios. Recuerda volver a habilitarlo ejecutando
csrutil enableen modo recuperación al finalizar.
Método 2: Eliminar Atributos de Bloqueo con el Comando Chflags
A veces los archivos tienen banderas o atributos extendidos que bloquean su eliminación. Puedes removerlos con la terminal siguiendo estos pasos:
- Abre la aplicación Terminal desde la carpeta de Aplicaciones o usando Spotlight.
- Escribe el comando
chflags -R nouchgseguido de un espacio. - Arrastra el archivo o carpeta que genera el error directamente dentro de la ventana de la Terminal para que se complete la ruta automáticamente.
- Presiona Enter y vuelve a intentar realizar la operación bloqueada.
Método 3: Otorgar Permisos de Disco Completo a la Terminal
Si el problema ocurre al ejecutar scripts o comandos que interactúan con carpetas protegidas como Documentos, Escritorio o Archivos Locales, debes asegurarte de que la Terminal tenga los permisos adecuados:
- Abre las Preferencias del Sistema (o Configuración del Sistema).
- Dirígete a Privacidad y Seguridad y luego selecciona Acceso Total al Disco.
- Busca la aplicación Terminal en la lista y asegúrate de que el interruptor esté activado en posición azul.
- Cierra y vuelve a abrir la Terminal para aplicar los cambios.