SSH Server 0.13.0: seu shell SSH agora fica nas pastas dele
O SSH Server 0.13.0 faz o shell SSH seguir as mesmas regras do SFTP: o shell de cada usuário vê apenas as pastas que você atribui a ele, as pastas somente leitura continuam somente leitura e os arquivos ocultos continuam ocultos.
On this page
SSH Server 0.13.0: seu shell SSH agora fica nas pastas dele
O SSH Server 0.13.0 já está disponível no Google Play para celulares, tablets e Android TV. Esta versão corrige uma falha com que alguns de vocês se depararam: o shell SSH agora segue as mesmas regras do SFTP. O shell de cada usuário vê apenas as pastas que você configurou para ele, e nada mais.
Um tour de um minuto pelas novidades da 0.13.0.
Por que isso importa
No SSH Server, você atribui a cada usuário uma lista de pastas. O SFTP sempre respeitou essa lista: um usuário a quem só foi dado Download via Download e nada mais.
O shell SSH não fazia isso. Quando o mesmo usuário abria um terminal com ssh, o shell começava na pasta privada do próprio app e podia explorar tudo o que o app conseguia alcançar. Isso era confuso ("Por que não encontro minha pasta Download no shell?") e significava que a lista de pastas não era um limite real para quem usasse o shell.
A partir da 0.13.0, a lista de pastas é o limite em todo lugar.

O que o shell vê agora
O shell vê exatamente as pastas que o SFTP mostra para esse usuário:
- Uma pasta: aparece como
/. Se você der a um usuário/storage/emulated/0, então/no shell dele é o seu armazenamento interno. - Várias pastas:
/as lista pelo alias. Um usuário comDownloadeDCIM(mostrada comoPhotos) vê exatamente duas pastas em/:DownloadePhotos. - Todo o resto some. O resto do seu armazenamento, os dados do próprio app e os de outros apps simplesmente não estão lá. Os caminhos que levariam para fora, incluindo
..e os truques do Linux via/proc, ficam dentro das pastas do usuário.
Suas ferramentas de shell de sempre continuam funcionando: ls, cd, cp, mv, find, cat, pipes, scripts e tarefas em segundo plano. Os arquivos de sistema do Android continuam legíveis para que esses comandos possam rodar, assim como em qualquer shell Android.
Aqui está uma sessão real no SSH Server 0.13.0:

As pastas somente leitura e os arquivos ocultos também se aplicam
Duas configurações que você já conhece do SFTP agora também funcionam no shell:
- Writable: se a caixa Writable de uma pasta estiver desmarcada, o shell pode abri-la, lê-la e copiar arquivos dela, mas não pode criar, alterar, renomear nem excluir nada dentro. Você verá
Read-only file system, como num disco somente leitura. - Show hidden files: se estiver desligada para um usuário, os arquivos e pastas cujo nome começa com um ponto (
.ssh,.cache, …) também ficam de fora das listagens no shell:ls -a,find, o autocompletar com Tab. Como no SFTP, um arquivo oculto ainda pode ser aberto pelo nome exato.

Como configurar
Não há nada de novo para ativar. O shell usa as pastas que você já definiu para cada usuário:
- Abra o SSH Server e toque em Users.
- Toque no lápis ao lado de um usuário.
- Em Access path, toque em Add new e escolha uma pasta. Repita para cada pasta que o usuário deve ter.
- Desmarque Writable em qualquer pasta que deva ser somente leitura.
- Toque em ✓ para salvar. Na próxima vez que esse usuário entrar, o shell dele mostrará exatamente estas pastas.
Não quer que um usuário tenha shell de jeito nenhum? A chave Disable shell na mesma tela continua desativando.
Funciona em todo lugar, sem root
O novo shell funciona sem root em todos os aparelhos que o SSH Server suporta: celulares, tablets e Android TV, com processadores ARM e x86 de 64 e 32 bits. Testamos do Android 6 ao Android 16.
Em alguns aparelhos muito antigos, principalmente Android 6 e 7 com um kernel de sistema desatualizado, falta ao sistema um recurso de que o shell precisa. Ali, o SSH Server não recorre a um shell sem restrições: a sessão mostra uma breve mensagem de que o shell não consegue iniciar e então fecha. O SFTP continua funcionando normalmente nesses aparelhos.
Duas correções
O SFTP não encerra mais sua sessão por um caminho errado. Se você abrisse um caminho fora das suas pastas, por exemplo ls /storage/emulated/0, a conexão podia fechar com Connection closed. Agora você recebe uma mensagem "not found" normal e continua trabalhando.

Users e SFTP Logs cabem na tela no Android 15 e posterior. Nas versões mais recentes do Android, o título e a seta de voltar dessas duas telas deslizavam para baixo da barra de status. Agora ficam abaixo dela.

Perguntas
Meus arquivos ficavam em /storage/emulated/0. Onde estão agora?
Nas pastas do seu usuário. Rode ls / para vê-los. Se você deu ao usuário todo o seu armazenamento interno, é o próprio /.
O shell diz que está indisponível ou não consegue iniciar. O que posso fazer? Verifique se o usuário tem pelo menos uma pasta em Access path e se o SSH Server tem permissão para acessar seus arquivos. Se ambos estiverem certos, seu aparelho é um dos poucos sem o recurso de kernel de que o shell precisa; o SFTP continua funcionando.
Isso muda o SFTP? Não. O SFTP já funcionava assim. Só o shell mudou, além da correção do SFTP acima.
Baixar
O SSH Server 0.13.0 está sendo lançado no Google Play agora:
- Celulares e tablets: SSH Server no Google Play
- Android TV: SSH Server para Android TV
Obrigado a todos que nos escreveram sobre o shell e o SFTP. Continuem mandando seus comentários!
Videos
Related posts
Image2SVG 2.1: SVG colorido, pré-visualização ao vivo e muito mais
O Image2SVG 2.1 é a nossa maior atualização até agora: SVGs coloridos com até 8 cores, predefinições de vetorização com pré-visualização ao vivo, cores e tamanho para o seu SVG, saída em PDF/EPS/DXF, exportação em PNG, um visualizador para comparar e dar zoom, corte, compartilhamento a partir de outros apps, exportação em ZIP e 14 novos idiomas. Ele também já está pronto para o Android 17.
Photo EXIF Editor 2.5.5: edite legendas, palavras-chave e créditos IPTC no Android
O Photo EXIF Editor 2.5.5 traz a edição de IPTC em fotos JPEG: títulos, descrições, palavras-chave, criador, direitos autorais e local, em uma foto ou em um lote inteiro. As datas que você define em fotos digitalizadas e antigas agora aparecem corretamente na galeria, salvar nunca deixa uma foto quebrada e o conversor de HEIC volta a funcionar no Android 16.
Daily Wallpapers 0.3.21: chega de papéis de parede ampliados, além de download só no Wi-Fi e um widget de um toque
O Daily Wallpapers 0.3.21 corrige os papéis de parede que ficavam ampliados ou borrados depois da troca noturna, para de cortar demais as fotos em retrato e adiciona a opção "Baixar apenas no Wi-Fi" e um widget na tela inicial que troca o papel de parede com um toque. Ele também está pronto para o Android 16 e 17.