曂沅仴駦 发表于 2024-10-21 02:13:51

将 Android 设备的 SELinux 模式从 “Enforcing“ 改为 “Permissive“ 步

将 Android 设备的 SELinux 模式从 “Enforcing” 改为 “Permissive” 可以提高设备的调试和开发灵活性,但也会降低体系的安全性。以下是步骤:
注意事项



[*]确保设备已 root。
[*]修改 SELinux 模式可能会使设备暴露于安全风险中,请谨慎操作。
[*]修改 SELinux 设置可能会被体系还原,详细情况取决于设备和固件。
修改步骤


[*] 获取 root 权限:
确保你的设备已 root 而且 ADB 已连接。通过 ADB 进入 shell:
adb root
adb shell

[*] 检查当前 SELinux 模式:
通过以下命令检查当前模式:
getenforce

通常输出会是 Enforcing 或 Permissive。
[*] 修改 SELinux 模式:
将模式改为 Permissive:
setenforce 0

[*] 验证修改:
再次检查 SELinux 模式以确保已更改:
getenforce

输出应为 Permissive。
长期化修改(仅限部分设备)

一些设备在重启后会恢复为 Enforcing 模式,假如你希望修改在重启后仍然生效,可以尝试以下方法:

[*] 修改启动脚本:
修改体系启动脚本,例如 init.rc 文件。此方法须要对体系镜像进行修改并重新刷入设备。
[*] 使用 Magisk 模块:
使用 Magisk 的 SELinux Permissive 模块可以在每次启动时自动将 SELinux 设置为 Permissive。

[*]安装 Magisk Manager。
[*]在 Magisk Manager 中搜索并安装 SELinux Permissive 模块。
[*]重启设备以应用模块。

使用 Magisk 刷入 Permissive 模块


[*] 安装 Magisk:
请确保你的设备已经通过 TWRP 等自界说恢复工具安装了 Magisk。假如没有,请按照设备的详细步骤安装 Magisk。
[*] 安装 SELinux Permissive 模块:

[*]打开 Magisk Manager。
[*]进入“下载”部分,搜索 SELinux Permissive 模块。
[*]下载并安装该模块。
[*]安装完成后重启设备。

[*] 验证修改:
重启后再次检查 SELinux 模式:
adb shell
getenforce


应表现 Permissive。
告诫

修改 SELinux 模式为 Permissive 会导致设备的安全性大幅降低,仅用于调试和开发目标。请在完成干系任务后只管恢复为 Enforcing 模式以确保设备的安全性。
Android 设备上通过 ADB 打开 RTS 流控,并使用 AT 指令进行串口读写操作。

stty 命令用于设置和表现终端设备(如串口)的设置。下面是对 stty -F /dev/ttyS0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts 命令各个选项的解释:

[*] stty -F /dev/ttyS0:

[*]stty:设置终端设备的命令。
[*]-F /dev/ttyS0:指定要设置的设备为 /dev/ttyS0。

[*] cs8:

[*]设置字符大小为 8 位(8 数据位)。

[*] 115200:

[*]设置波特率(传输速率)为 115200 bps。

[*] ignbrk:

[*]忽略输入的 BREAK 信号。

[*] -brkint:

[*]克制 BREAK 信号导致一个 SIGINT 信号被发送到程序中。

[*] -icrnl:

[*]克制将输入的 CR(回车符)转换为 NL(换行符)。

[*] -imaxbel:

[*]克制在输入队列满时响铃。

[*] -opost:

[*]克制输出处理(即输出时不做任何修改)。

[*] -onlcr:

[*]克制将输出的 NL(换行符)转换为 CR-NL(回车-换行符对)。

[*] -isig:

[*]克制天生信号(如 INTR, QUIT, SUSP)。

[*] -icanon:

[*]克制规范模式输入(即克制行缓冲)。

[*] -iexten:

[*]克制实现扩展功能(如 DISCARD 和 LNEXT)。

[*] -echo:

[*]克制回显输入字符。

[*] -echoe:

[*]克制回显 ERASE 字符作为一个 BS-SP-BS 序列。

[*] -echok:

[*]克制回显 KILL 字符后的新行。

[*] -echoctl:

[*]克制回显控制字符作为 ^char 格式。

[*] -echoke:

[*]克制擦除行时回显删除的字符。

[*] noflsh:

[*]克制在 INTR、QUIT 和 SUSP 信号时刷新输入和输出队列。

[*] -ixon:

[*]克制软件流控(即克制接收时的 XON/XOFF 流控)。

[*] -crtscts:

[*]启用硬件 RTS/CTS 流控。

综上所述,这个 stty 命令设置了串口 /dev/ttyS0,设定了 8 数据位、115200 波特率、忽略 BREAK 信号、克制各种信号处理和回显、禁用软件流控并启用了硬件流控。如许设置后的串口适合于一些对串口通信有特定要求的应用,比如与某些嵌入式设备进行通信。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 将 Android 设备的 SELinux 模式从 “Enforcing“ 改为 “Permissive“ 步