SELinux / SEAndroid 如何阻止或允许伪终端分配?

SELinux / SEAndroid 如何阻止或允许伪终端分配?

SELinux我正在尝试解决在“强制”模式下运行的 Android 手机上的 SSH 连接问题。问题是任何尝试分配伪终端(/dev/pts等)的 SSH 连接都会被拒绝,导致我的连接没有控制 tty。实际上,这意味着我失去了使用普通终端控制进行编辑、命令历史记录、CTRL 字符等的能力。

据推测,这意味着 SELinux 正在阻止 SSH 守护进程打开/dev/ptmx

我不知道如何从 SSH 服务器设备(电话)内部解决这种非常烦人的情况。

我在跑SSH助手在非特权端口 2222 上三星S4使用一个SELinux 强制执行 AOS 4.2.2版本。最奇怪的是我有 root 访问权限在“强制”下,但是当我禁用“强制”并转到“许可”时,一切都可以在终端中运行,但我无法再使用 su 来获得 root 权限! (根本没有反应,也没有错误消息。)

因此,在 SELinux 下必须有一种方法来控制这一点,但是在哪里以及如何控制呢?

或者这是一件小事,我只是错过了一些东西?


对于 SSH 连接执行模式,我使用:

$ 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

这给我带来了一个没有提示的非 tty shell,严重限制了任何编辑的可能性。

附言。我已经尝试过ssh -t ...,不行。

相关内容