Como o SELinux / SEAndroid impede ou permite a alocação do pseudo-terminal?

2

Estou tentando resolver um problema de conexão SSH em um telefone Android executando SELinux no modo "Impingir". O problema é que qualquer conexão SSH que tenta alocar um pseudo-terminal ( /dev/pts etc) é negada permissão, deixando minha conexão sem um controle tty. Praticamente isso significa que eu perdi a capacidade de usar o controle de terminal normal para edição, histórico de comandos, caracteres CTRL etc.

Presumivelmente, isso significa que o SELinux está impedindo que o daemon SSH abra /dev/ptmx .

Não tenho ideia de como remediar esta situação altamente irritante, a partir do dispositivo do servidor SSH (telefone).

Estou executando o SSHelper em uma porta não privilegiada 2222 em um Samsung S4 usando uma versão do SELinux Enforcing AOS 4.2.2 . O mais estranho é que eu tenho acesso root usando su em "Enforcing", mas quando eu desabilito "Enforcing" e vou em "Permissive", tudo funciona no terminal, mas não consigo mais usar su para ganhar raiz! (Simplesmente sem reação e sem mensagem de erro.)

Portanto, deve haver uma maneira de controlar isso no SELinux, mas onde e como?

Ou isso é uma trivialidade e eu só perdi alguma coisa?

Para conexão SSH no modo Impingir , eu uso:

$ ssh -2 [email protected] -p 2222
SSHelper Version 6.3 Copyright 2014, P. Lutus
[email protected]'s password:
PTY allocation request failed on channel 0
Linux 3.4.0-2340422 armv7l

Isso me faz um shell não tty sem prompt, limitando severamente quaisquer possibilidades de edição.

PS. Eu já tentei com ssh -t ... , não vá.

    
por not2qubit 28.05.2014 / 15:38

0 respostas