Inicio
» MAC OS X
»
Cómo solucionar el error "No se pudo ejecutar el archivo porque no tiene los permisos de acceso adecuados" en macOS.
Cómo solucionar el error "No se pudo ejecutar el archivo porque no tiene los permisos de acceso adecuados" en macOS.
Si un .commandscript de confianza muestra el mensaje "No se pudo ejecutar el archivo porque no tiene los permisos de acceso adecuados", generalmente necesita el permiso de ejecución. En la Terminal, agregue ese permiso a su cuenta con `<script>` chmod u+xy luego ejecute el script nuevamente. Esto modifica el bit de permisos del archivo; no verifica el script ni omite las comprobaciones de seguridad de macOS, así que inspeccione el archivo y confíe en su origen antes de ejecutarlo.
Antes de cambiar los permisos, compruebe el archivo.
Asegúrate de que el archivo realmente termine en la extensión correcta .commandy de que sepas de dónde proviene. Un script de comandos puede ejecutar comandos de Terminal con el acceso de tu cuenta. Si no esperabas el archivo o no puedes verificar su origen, no lo ejecutes. Ábrelo con un editor de texto para revisar su contenido u obtén una copia limpia del desarrollador.
La ventana Obtener información del Finder es útil para comprobar el nombre de un archivo y los permisos generales de uso compartido, pero no proporciona un control sencillo para añadir el bit de ejecución de shell a un script. Apple documenta este chmodmétodo como el método de Terminal para hacer que un script de shell sea ejecutable en su Guía del usuario de Terminal .
Ejemplo de vista del Finder de un script .command en Descargas.
Corrija el permiso de ejecución.
Abre la terminal. Usa Spotlight o abre Aplicaciones > Utilidades > Terminal.
Otorgue permisos de ejecución a su cuenta. Para un script en Descargas llamado script.command, ingrese este comando y presione Intro:
chmod u+x "$HOME/Downloads/script.command"
Sustituye la ubicación y el nombre de archivo de ejemplo por la ruta real. Mantén la ruta entre comillas, especialmente si la carpeta o el nombre del archivo contienen espacios. También puedes escribir chmod u+x (incluyendo el espacio final) y arrastrar el archivo desde el Finder a la ventana del Terminal para insertar su ruta. No escribas literalmente las palabras «ruta al archivo».
El comando chmod u+x añade permisos de ejecución para el propietario del archivo.
Normalmente, el comando regresa a la línea de comandos sin mostrar un mensaje de éxito. uindica al propietario del archivo y +xle otorga permiso para ejecutarlo. Esto es menos restrictivo que hacer que el script sea ejecutable para todas las cuentas en la Mac. No debería requerir una contraseña de administrador si usted es el propietario del archivo y puede cambiar sus permisos.
Ejecuta el script. Si está en Descargas, introduce:
cd "$HOME/Downloads"
./script.command
También puedes hacer doble clic en el archivo en Finder después de cambiar sus permisos. Ejecutarlo desde la Terminal es útil porque puedes leer cualquier mensaje de error o resultado. Si macOS muestra una advertencia al pegar un comando en la Terminal, léela antes de continuar.
Ejemplo de sesión de terminal después de ejecutar el script desde su carpeta.
Compruebe los permisos si el error persiste.
Para ver los permisos del archivo, ejecute:
ls -l "$HOME/Downloads/script.command"
Cuando la cuenta actual es propietaria del archivo y se ha establecido el permiso de ejecución, el primer grupo de permisos debe incluir un x, como -rwx. La guía de permisos de Mac de Apple explica cómo difiere el acceso a archivos y carpetas entre los usuarios.
Utilice ls -l para confirmar que la cadena de permisos del propietario incluye x.
El comando indica "No existe tal archivo o directorio". La ruta o el nombre del archivo no coinciden. En Finder, confirme el nombre y la ubicación, y luego repita el comando con la ruta correcta.
Aparece el mensaje "Operación no permitida" o "Permiso denegado". Es posible que no seas el propietario del archivo o que la carpeta principal no permita el acceso. Mueve una copia a una carpeta de tu propiedad, como Descargas, o solicita al propietario del archivo o al administrador de tu Mac que corrija el acceso. Evita agregarlo sudocomo primer paso.
El archivo tiene permisos de ejecución, pero aun así no se ejecuta. Comprueba que el archivo sea un script válido y que su primera línea indique un intérprete disponible. Si el mensaje hace referencia a una aplicación que Apple no puede verificar, a un desarrollador no identificado o a malware, se trata de una advertencia de Gatekeeper o de malware, no de un error de permisos de ejecución.
No comprometas la seguridad de macOS para solucionar un problema de permisos de archivo.
No lo uses chmod a+xa menos que quieras intencionalmente que otras cuentas locales tengan permiso de ejecución, y evita comandos generales como chmod -Ro cambiar permisos en carpetas del sistema. Para deshacer el bit de ejecución que agregaste para tu cuenta, ejecuta chmod u-x "$HOME/Downloads/script.command".
Para recibir una alerta de verificación de la app, sigue las instrucciones de Apple para abrir apps de forma segura solo cuando hayas confirmado que provienen de una fuente confiable. No ignores una advertencia que indique que el software dañará tu equipo o que macOS detectó malware. Apple también documenta las nuevas protecciones para pegar en la Terminal en su guía de protección de scripts y Terminal .