type=1400 audit(1685930755.370:59): avc: denied { open } for comm="Binder:173_2" path="/sys/devices/virtual/power_supply/test_usb/wakeup9" dev="sysfs" ino=24432 scontext=u:r:system_suspend:s0 tcontext=u:object_r:sysfs_power:s0 tclass=dir permissive=1这些语句是从哪个文件打印出来的
时间: 2024-03-28 21:38:33 浏览: 103
这些语句是 SELinux 的 audit 日志,记录了在 Android 系统中执行某个操作时被 SELinux 拒绝的详细信息。这些日志通常被存储在 /var/log/audit/audit.log 或者 /sys/fs/selinux/audit/audit.log 文件中。以上的日志记录了一个名为 Binder:173_2 的进程试图在路径 /sys/devices/virtual/power_supply/test_usb/wakeup9 中打开文件,但是该操作被 SELinux 拒绝了。
相关问题
[ 62.097451] type=1400 audit(1686032696.903:62): avc: denied { map } for comm="network.sh" path="/system/bin/sh" dev="dm-7" ino=720 scontext=u:r:network_sh:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=1 [ 62.097570] type=1400 audit(1686032696.903:62): avc: denied { read } for comm="network.sh" path="/system/bin/sh" dev="dm-7" ino=720 scontext=u:r:network_sh:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=1 [ 62.097709] type=1400 audit(1686032696.903:62): avc: denied { execute } for comm="network.sh" path="/system/bin/sh" dev="dm-7" ino=720 scontext=u:r:network_sh:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=1 [ 62.113304] type=1400 audit(1686032696.935:63): avc: denied { getattr } for comm="network.sh" path="/system/bin/sh" dev="dm-7" ino=720 scontext=u:r:network_sh:s0 tcontext=u:object_r:shell_exec:s0 tclass=file permissive=1 [ 62.143732] type=1400 audit(1686032696.971:64): avc: denied { read } for comm="network.sh" name="ifconfig" dev="dm-7" ino=561 scontext=u:r:network_sh:s0 tcontext=u:object_r:init-ifconfig_exec:s0 tclass=lnk_file permissive=1 [ 62.150395] type=1400 audit(1686032696.971:64): avc: denied { getattr } for comm="network.sh" path="/system/bin/toybox" dev="dm-7" ino=766 scontext=u:r:network_sh:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1 [ 62.150484] type=1400 audit(1686032696.979:65): avc: denied { execute } for comm="network.sh" name="toybox" dev="dm-7" ino=766 scontext=u:r:network_sh:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1 [ 62.150537] type=1400 audit(1686032696.979:66): avc: denied { read open } for comm="network.sh" path="/system/bin/toybox" dev="dm-7" ino=766 scontext=u:r:network_sh:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1 [ 62.150676] type=1400 audit(1686032696.979:66): avc: denied { execute_no_trans } for comm="network.sh" path="/system/bin/toybox" dev="dm-7" ino=766 scontext=u:r:network_sh:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1 [ 62.151933] type=1400 audit(1686032696.979:66): avc: denied { map } for comm="ifconfig" path="/system/bin/toybox" dev="dm-7" ino=766 scontext=u:r:network_sh:s0 tcontext=u:object_r:toolbox_exec:s0 tclass=file permissive=1 改写avc规则
AVC(Access Vector Cache)规则是安卓系统中的访问控制规则,用于限制应用程序访问敏感资源的能力。修改这些规则需要 root 权限和对 SELinux 的了解。
如果您想尝试修改这些规则,可以按照以下步骤操作:
1. 获取 root 权限,并安装 SELinux policy 工具。
2. 使用 `audit2allow` 工具将 AVC 规则转换为 SELinux policy 规则。例如,对于上面的日志,可以使用以下命令:
```
$ adb shell dmesg | grep -E 'type=1400 audit' | audit2allow -M network_sh
```
这将生成一个名为 `network_sh.pp` 的 SELinux policy 文件。
3. 将 `network_sh.pp` 文件推送到设备上。
```
$ adb push network_sh.pp /data/local/tmp/
```
4. 使用 `semodule` 工具将 SELinux policy 文件加载到系统中。
```
$ adb shell su -c "semodule -i /data/local/tmp/network_sh.pp"
```
这样就可以成功改写 AVC 规则。但是请注意,这可能会导致系统安全性问题,因此请谨慎操作。
如何解决type=1400 audit(1684914394.660:1053): avc: denied { open } for comm="getprop" path="/dev/__properties__/u:object_r:aac_drc_prop:s0" dev="tmpfs" ino=12657 scontext=u:r:untrusted_app:s0:c79,c256,c512,c768 tcontext=u:object_r:aac_drc_prop:s0 tclass=file permissive=1 app=com.tencent.wemeet.app
这是 SELinux 引起的权限被拒绝错误,可能是因为应用程序请求了不被允许的权限。要解决这个问题,可以尝试以下步骤:
1. 检查是否有其他引起该问题的错误信息,例如“permission denied”或“operation not permitted”。
2. 如果应用程序请求了不被允许的权限,请更新应用程序以请求正确的权限。
3. 如果您确定应用程序请求了正确的权限,则可以尝试禁用 SELinux。请注意,禁用 SELinux 可能会使系统变得更加容易受到攻击,因此请谨慎操作。
4. 如果您不想禁用 SELinux,请尝试使用以下命令来解决权限问题:
```
adb shell su -c "setenforce 0"
```
该命令将 SELinux 模式更改为“permissive”,这意味着 SELinux 仍然会记录权限错误,但不会阻止应用程序执行。如果您使用该命令解决了问题,则应该考虑更新应用程序以请求正确的权限,然后再将 SELinux 模式更改回“enforcing”模式。
希望这些步骤能够帮助您解决问题!
阅读全文