Introducción al Error de Permisos en macOS
Uno de los problemas más frustrantes para los usuarios que utilizan la Terminal en macOS es encontrarse con el mensaje zsh: permission denied o variantes similares al intentar ejecutar un script, instalar herramientas o modificar archivos del sistema. Este fallo ocurre porque tu cuenta de usuario actual no cuenta con los privilegios necesarios de lectura, escritura o ejecución sobre el archivo o directorio objetivo.
Causas Principales del Error 'Permission Denied'
Las razones más comunes por las que macOS bloquea la ejecución de comandos o accesos en la Terminal incluyen:
- Falta de permisos de ejecución (+x) en scripts o binarios descargados.
- Intento de modificar o acceder a carpetas protegidas del sistema (especialmente en versiones modernas con SIP - System Integrity Protection).
- Propiedad incorrecta del archivo, estando asignado al usuario
rooten lugar de tu usuario local.
Método 1: Otorgar Permisos de Ejecución con chmod
Si estás intentando ejecutar un script (por ejemplo, .sh) o un archivo binario y la Terminal te niega el acceso, generalmente se debe a que le falta el permiso de ejecución.
- Abre la aplicación Terminal desde la carpeta Utilidades o usando Spotlight (Cmd + Espacio).
- Escribe el comando
chmod +xseguido de un espacio. - Arrastra el archivo o script directamente desde el Finder hacia la ventana de la Terminal para rellenar la ruta automáticamente, o escríbela de forma manual.
- Presiona Enter para aplicar los cambios y vuelve a intentar ejecutar el archivo.
Método 2: Uso Correcto de Sudo para Privilegios de Administrador
Cuando necesitas realizar tareas que requieren nivel de superusuario, ejecutar el comando sin privilegios arrojará un error de denegación.
- Identifica el comando que falló por falta de privilegios (por ejemplo, instalar un paquete global).
- Añade la palabra
sudoal principio de tu línea de comandos. Ejemplo:sudo [tu_comando_aqui]. - Presiona Enter. macOS te pedirá tu contraseña de administrador (nota que no se mostrarán asteriscos mientras escribes por seguridad).
- Introduce tu contraseña y pulsa Enter nuevamente.
Método 3: Cambiar la Propiedad del Archivo con chown
Si un archivo o carpeta fue creado por el usuario root por error, tu usuario actual no podrá modificarlo ni eliminarlo.
- Abre la Terminal en tu Mac.
- Utiliza el comando para cambiar el propietario del archivo a tu usuario actual escribiendo:
sudo chown -R $USER:$USER /ruta/al/archivo/o/carpeta - Introduce tu contraseña de administrador cuando se te solicite.
- Verifica que los permisos se hayan aplicado correctamente intentando acceder al archivo de nuevo.