Written by
JoãoSilvaSoluções rápidas para "ls: Operação não permitida" ao fazer SSH no Mac:
1. Conceda Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd
Menu Apple > Configurações do Sistema > Privacidade & Segurança > Acesso Total ao Disco, depois habilite o Acesso Total ao Disco para os três programas.
2. Faça o SSH em outro Mac como root
Rode o comando ls com sudo
3. Reative 'Login Remoto' em Compartilhamento
Configurações do Sistema > Geral > Compartilhamento, desative o Login Remoto e depois ative novamente.
4. Desative o SIP
Acesse a Recuperação do macOS > Utilitários > Terminal e digite csrutil disable
Depois de usar o SSH (Shell Seguro) para conectar de forma segura a outro Mac e rodar o comando ls para listar o conteúdo de um diretório específico, você só recebe o erro "ls: Operação não permitida" no Terminal.
Como indica, esse erro mostra que você não tem permissão para acessar a pasta de destino. Isso se deve a bugs na conexão SSH, restrições de permissão de usuário ou limites do sistema.
Para resolver o erro "Operação não permitida" com o comando ls após SSH em outro macOS, você pode seguir as dicas que listamos abaixo como uma solução de problemas.
Conceda Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd
Quando você se depara com um erro de "Operação não permitida" ao rodar ls ou acessar certos diretórios via SSH no macOS, geralmente é devido à proteção TCC (Transparência, Consentimento e Controle) do macOS.
Conceder Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd permite que eles burlar essas restrições do TCC, permitindo o acesso a áreas protegidas do Mac conectado via SSH.
- Clique no Menu Apple > Configurações do Sistema > Privacidade & Segurança > Acesso Total ao Disco.
- Habilite o Terminal e sshd-keygen-wrapper.
- Clique no botão adicionar (+).
- No pop-up, selecione macOS (ou Macintosh HD) em localizações, e pressione Command - Shift - . (a tecla ponto) para mostrar a pasta oculta usr.
- Encontre e selecione sshd na pasta sbin e clique em Abrir para adicioná-lo à lista de Acesso Total ao Disco.
Nota: O caminho da pasta usr é /usr/sbin/sshd. - Habilite o SSHD lá.
Depois de conceder Acesso Total ao Disco ao Terminal, sshd-keygen-wrapper e sshd, verifique se ocorre ou não o erro de operação ls não permitida.
Compartilhe esse truque para corrigir o erro "ls: Operação não permitida" com outras pessoas.
Alternar para SSH em outro Mac como root
Com a proteção de segurança aprimorada do Mac, seu usuário normal pode não ter permissão total mesmo com acesso SSH. Portanto, quando você usar o comando ls para visualizar os arquivos de uma pasta, mude para executar o comando sudo ls /diretório-alvo.
Se o problema persistir, tente o próximo método.
Reativar 'Login Remoto' em Compartilhamento
O recurso de Login Remoto nas configurações de Compartilhamento permite que o servidor SSH no seu Mac estabeleça uma conexão segura com outro Mac.
Quando o erro "ls: Operação não permitida" ocorre após o SSH no macOS, reativar o "Login Remoto" em Compartilhamento pode ser a solução, pois isso reiniciará o servidor SSH (sshd) e eliminará os possíveis erros no servidor SSH.
- Vá até o menu da Apple > Configurações do Sistema > Geral > Compartilhamento.
- Role para baixo para encontrar Login Remoto.
- Desative o Login Remoto e reative-o após um momento.
Desativar SIP
Se você ver "ls: Operação não permitida" ao fazer SSH em um Mac M1 ou outro Mac, você deve considerar desativar o SIP. Nos Macs modernos, a proteção de segurança é muito aprimorada. O SIP não pode ser contornado remotamente. Portanto, tente desabilitar temporariamente o SIP para que você possa usar ls para verificar o conteúdo do diretório após fazer SSH em um Mac.
- Inicie seu Mac no Modo de Recuperação.
Em um Mac baseado em Intel, reinicie o dispositivo pressionando Command - Shift - R até que o logo da Apple ou globo giratório apareça.
Em um Mac Apple Silicon, desligue o Mac, pressione o botão de energia (Touch ID) até que as opções de inicialização apareçam, selecione Opções > Continuar. - Clique em Utilitários na barra de menu superior > Terminal.
- Insira o seguinte comando. csrutil disable
- Saia do Terminal e reinicie seu Mac.
Após fazer SSH em outro Mac, lembre-se de ativar o SIP com o comando - csrutil enable no Modo de Recuperação do macOS.
Se este post ajudou você a resolver "ls: Operação não permitida" ao fazer SSH no macOS, compartilhe com mais pessoas.