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 su
do Termux é simples. Quando executado, ele traz /system/bin/sh
para 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 tsu
para que você bash
e 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/su
e 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 no
ao arquivo de configuração sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_config
e 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.