Início
» MAC OS X
»
Como corrigir o erro “O arquivo não pôde ser executado porque você não tem privilégios de acesso adequados” no macOS
Como corrigir o erro “O arquivo não pôde ser executado porque você não tem privilégios de acesso adequados” no macOS
Se um .commandscript confiável exibir a mensagem “O arquivo não pôde ser executado porque você não tem as permissões de acesso apropriadas”, geralmente é necessário conceder a permissão de execução. No Terminal, adicione essa permissão à sua conta com o comando `sudo apt-get chmod u+xinstall -p`, e execute o script novamente. Isso altera as permissões do arquivo; porém, não verifica o script nem ignora as verificações de segurança do macOS, portanto, inspecione o arquivo e confie na sua origem antes de executá-lo.
Antes de alterar as permissões, verifique o arquivo.
Certifique-se de que o arquivo realmente termina com a extensão correta .commande que você sabe de onde ele veio. Um script de comando pode executar comandos do Terminal com o acesso da sua conta. Se você não esperava o arquivo ou não consegue verificar sua origem, não o execute. Abra-o em um editor de texto para revisar o conteúdo ou obtenha uma cópia limpa do desenvolvedor.
A janela "Obter Informações" do Finder é útil para verificar o nome de um arquivo e as permissões gerais de compartilhamento, mas não oferece um controle simples para adicionar a permissão de execução do shell a um script. A Apple documenta chmodesse método no Guia do Usuário do Terminal para tornar um script de shell executável .
Exemplo de visualização do Finder de um script .command na pasta Downloads.
Corrija a permissão de execução.
Abra o Terminal. Use o Spotlight ou abra Aplicativos > Utilitários > Terminal.
Conceda permissão de execução à sua conta. Para um script na pasta Downloads com o nome script.command, digite este comando e pressione Enter:
chmod u+x "$HOME/Downloads/script.command"
Substitua o local e o nome do arquivo de exemplo pelo caminho real. Mantenha o caminho entre aspas, especialmente se uma pasta ou nome de arquivo contiver espaços. Você também pode digitar chmod u+x (incluindo o espaço final) e arrastar o arquivo do Finder para a janela do Terminal para inserir o caminho. Não digite as palavras "caminho para o arquivo" literalmente.
O comando chmod u+x adiciona permissão de execução para o proprietário do arquivo.
O comando normalmente retorna ao prompt sem exibir uma mensagem de sucesso. `<username>` usignifica o proprietário do arquivo e +xadiciona permissão para executá-lo. Isso é mais restritivo do que tornar o script executável para todas as contas no Mac. Não deve ser necessária uma senha de administrador quando você é o proprietário do arquivo e pode alterar suas permissões.
Execute o script. Se estiver na pasta Downloads, digite:
cd "$HOME/Downloads"
./script.command
Você também pode clicar duas vezes no arquivo no Finder depois de alterar suas permissões. Executá-lo pelo Terminal é útil porque permite ler qualquer mensagem de erro ou resultado. Se o macOS exibir um aviso ao colar um comando no Terminal, leia-o antes de prosseguir.
Exemplo de sessão de terminal após a execução do script a partir de sua pasta.
Verifique as permissões se o erro persistir.
Para visualizar as permissões do arquivo, execute:
ls -l "$HOME/Downloads/script.command"
Quando a conta atual é proprietária do arquivo e a permissão de execução está definida, o primeiro grupo de permissões deve incluir um `<nome_do_grupo>` x, como por exemplo, ` <nome_do_grupo>`. O guia de permissões do Mac-rwx da Apple explica como o acesso a arquivos e pastas difere entre os usuários.
Use o comando `ls -l` para confirmar se a string de permissão do proprietário inclui "x".
O comando retorna "Arquivo ou diretório inexistente". O caminho ou nome do arquivo não corresponde. No Finder, confirme o nome e o local e repita o comando com o caminho correto.
A mensagem exibida é "Operação não permitida" ou "Permissão negada". Pode ser que você não seja o proprietário do arquivo ou que a pasta principal esteja bloqueando o acesso. Mova uma cópia para uma pasta de sua propriedade, como Downloads, ou peça ao proprietário do arquivo ou ao administrador do seu Mac para corrigir o acesso. Evite adicionar o arquivo sudocomo primeiro passo.
O arquivo possui permissão de execução, mas ainda assim não será executado. Verifique se o arquivo é um script válido e se a primeira linha especifica um interpretador disponível. Se a mensagem se referir a um aplicativo que a Apple não pode verificar, a um desenvolvedor não identificado ou a um malware, trata-se de um aviso separado do Gatekeeper ou de malware, e não de um erro de permissão de execução.
Não enfraqueça a segurança do macOS para corrigir uma permissão de arquivo.
Não utilize este comando chmod a+xa menos que deseje intencionalmente que outras contas locais tenham permissão de execução, e evite comandos abrangentes como `ls` chmod -Rou alterações de permissões em pastas do sistema. Para desfazer a permissão de execução adicionada à sua conta, execute ` chmod u-x "$HOME/Downloads/script.command".
Para alertas de verificação de aplicativos, siga as orientações da Apple para abrir aplicativos com segurança somente após confirmar que o aplicativo provém de uma fonte confiável. Não ignore avisos que informam que o software pode danificar seu computador ou que o macOS detectou malware. A Apple também documenta as proteções mais recentes para colagem de texto no Terminal em seu guia de proteção do Terminal e de scripts .