Eu gostaria de ter um servidor SSH, HTTP e SMB nas portas padrão do meu telefone.
Existe uma maneira de executar o Termux como root e executar os servidores em portas privilegiadas?
Executando o Android 7.1 com root em um dispositivo desbloqueado.
Eu gostaria de ter um servidor SSH, HTTP e SMB nas portas padrão do meu telefone.
Existe uma maneira de executar o Termux como root e executar os servidores em portas privilegiadas?
Executando o Android 7.1 com root em um dispositivo desbloqueado.
Respostas:
O padrão sudo Termux é simples. Quando executado, ele traz /system/bin/shpara você, em vez do shell do Termux (normalmente bash). Para resolver esse problema, você pode instalar o wrapper su personalizado para Termux,
apt install tsu
E então você pode executar tsupara que você bashe tudo estejam agora sob privilégios de root.
Informações adicionais:
Use um editor (como vim) para ver /data/data/com.termux/files/usr/bin/sue você verá que na linha 10, ele chama exec su $@diretamente enquanto está tsu, executa detecção de shell e na linha 80, ele é executado
exec su --preserve-environment -c "LD_LIBRARY_PATH = $ PREFIX / lib $ ROOT_SHELL"
para preservar o ambiente do Termux.
Acabei de resolver o mesmo problema para mim. tsu não funcionou para mim. Encontrei este projeto: https://github.com/st42/termux-sudo
Também queria executar o sshd como root. É um produto pronto para uso com termux-sudo, mas ele não queria usar o arquivo allowed_keys no início, porque as permissões para ele e todos os diretórios pai não estavam restritos à raiz (e no meu dispositivo o diretório / não pode ser restrito para fazer o root 700, porque o software mediaplayer não funciona mais por algum motivo).
Então eu tive que adicionar a opção StrictModes noao arquivo de configuração sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_confige agora funciona! :)
Depois de executar o su, você sai do subshell termux. Você pode tentar o SELinux permissivo, é assim que eu contornar a coisa de permissão negada.