firefox浏览器输入about:config修改permissions.default.image可以屏蔽图片

本文介绍如何通过about:config配置项permissions.default.image来控制浏览器加载图片的行为,包括允许所有图片、阻止所有图片以及阻止第三方服务器图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地址栏打开 about:config
搜索permissions.default.image
1 允许所有图片;2 阻止所有图片;3 阻止第三方服务器图片
Permissions: Dropping shell permissions 03-13 11:13:57.411 1000 754 926 W UsageStatsService: Unexpected activity event reported! (com.android.car.mapsplaceholder/com.android.car.mapsplaceholder.MapsPlaceholderActivity event : 23 instanceId : 66392844) 03-13 11:13:57.412 1010135 10268 10291 D Permissions: Trying to grant android.permission.CREATE_USERS 03-13 11:13:57.767 root 33 33 I binder : undelivered transaction 211626, process died. 03-13 11:13:57.774 root 33 33 I binder : undelivered transaction 211638, process died. 03-13 11:13:57.415 1010135 10268 10291 D Permissions: Adopting [android.permission.CREATE_USERS] 03-13 11:13:57.418 1010135 10268 10291 E Versions: meetsSdkVersionRequirements(34,-1): true (Current: REL, sdk: 35) 03-13 11:13:57.419 1010135 10268 10291 D Permissions: Dropping shell permissions 03-13 11:13:57.419 1010135 10268 10291 D Permissions: Trying to grant android.permission.QUERY_USERS 03-13 11:13:57.420 1000 754 1700 W WindowManager: Cannot find window which accessibility connection is added to 03-13 11:13:57.420 1010135 10268 10291 D Permissions: Trying to grant android.permission.CREATE_USERS 03-13 11:13:57.421 1010135 10268 10291 D Permissions: Adopting [android.permission.QUERY_USERS, android.permission.CREATE_USERS] 03-13 11:13:57.424 1010135 10268 10291 D Permissions: Dropping shell permissions 03-13 11:13:57.425 1010135 10268 10291 E Versions: meetsSdkVersionRequirements(31,-1): true (Current: REL, sdk: 35) 03-13 11:13:57.426 1010135 10268 10291 D Permissions: Dropping shell permissions 03-13 11:13:57.427 1010135 10268 10291 D Permissions: Trying to grant android.permission.CREATE_USERS 03-13 11:13:57.429 1010135 10268 10291 D Permissions: Adopting [android.permission.CREATE_USERS] 03-13 11:13:57.430 1010135 10268 10291 E Versions: meetsSdkVersionRequirements(34,-1): true (Current: REL, sdk: 35) 03-13 11:13:57.431 1010135 10268 10291 D Permissions: Dropping shell permissions 03-13 11:13:57.431 1010135 10268 10291 D Permissions: Trying to grant android.permission.QUERY_USERS 03-13 11:13:57.432 1010135 10268 10291 D Permissions: Trying to grant android.permission.CREATE_USERS 03-13 11:13:57.433 1010135 10268 10291 D Permissions: Adopting [android.permission.QUERY_USERS, android.permission.CREATE_USERS] 03-13 11:13:57.435 1010135 10268 10291 D Permissions: Dropping shell permissions
最新发布
03-26
<think>好的,用户提供了一段日志,其中多次出现“Permissions: Dropping shell permissions”,需要我来解释这个现象。首先,我需要确定用户是谁,他们的背景以及他们遇到的具体问题。用户可能是Android开发者或者系统管理员,他们在调试或运行应用时遇到了权限相关的问题,可能是在使用adb shell或者某些需要shell权限的操作。 接下来,我需要分析日志中的关键信息。日志中有多个条目涉及权限的授予和丢弃,比如CREATE_USERS和QUERY_USERS,这些是系统级权限,通常只有系统应用或特权进程才能持有。同时,日志中多次出现“Dropping shell permissions”,这可能意味着某个进程在完成需要高权限的操作后,主动放弃了这些权限,以避免安全风险。 然后,我需要考虑为什么进程会频繁地获取和丢弃权限。可能的情况包括:应用或服务在执行某些任务时需要临时提升权限,任务完成后立即降权;或者存在权限管理的逻辑错误,导致权限被反复申请和释放。此外,日志中的“Unexpected activity event”和“WindowManager”警告可能暗示有界面相关的问题,但核心问题还是权限处理。 用户可能想知道这些日志是否正常,或者是否存在潜在的安全问题或代码错误。他们可能需要了解如何调试此类问题,或者如何确保权限的正确管理。此外,用户可能没有明确说明他们的具体操作,比如是否在使用adb命令,或者是否有自定义的系统修改,这些都可能影响日志的产生。 我还需要回顾Android的权限管理机制,尤其是shell权限的处理。Shell用户(如通过adb shell访问)通常具有较高的权限,但某些敏感操作仍需要显式授权。Android 11之后,权限管理更加严格,可能会影响旧版本应用的兼容性。此外,模块化架构的变化可能涉及权限模块的位置和逻辑调整,比如之前提到的adb代码位置的变化。 最后,我应该组织回答,先解释日志中的关键点,分析可能的原因,然后提供排查建议,帮助用户定位问题。需要确保回答清晰,结构合理,既涵盖技术细节,又给出实际的操作步骤,比如检查代码、使用调试工具、核对权限声明等。同时,提醒用户注意安全性和系统版本兼容性问题,确保他们能够全面理解并采取相应措施。</think>以下是针对日志中 `Permissions: Dropping shell permissions` 及相关权限操作的分析与解释: --- ### **核心问题解析** 日志中频繁出现的 `Dropping shell permissions` 表明系统或应用进程正在 **主动释放已获取的Shell权限**。结合上下文中的权限操作(如 `CREATE_USERS`、`QUERY_USERS`),这通常发生在以下场景: 1. **权限临时提升**:进程通过 `adb shell` 或系统服务临时获取高权限(如 `shell` 用户的权限),完成任务后主动降权以符合最小权限原则。 2. **权限管理策略**:Android系统对敏感权限的授予和回收有严格限制,某些操作可能因权限生命周期控制触发多次申请/释放。 --- ### **关键日志拆解** | 日志条目 | 分析 | |---------|------| | `D Permissions: Adopting [android.permission.CREATE_USERS]` | 进程尝试获取 `CREATE_USERS` 权限(系统级权限,用于创建新用户) | | `D Permissions: Dropping shell permissions` | 释放当前持有的Shell权限(如通过 `adb shell` 获取的临时权限) | | `E Versions: meetsSdkVersionRequirements(34,-1): true` | 检查目标SDK版本兼容性(此处SDK 35通过验证) | | `W UsageStatsService: Unexpected activity event` | 应用活动事件未按预期触发(可能涉及权限不足或生命周期问题) | --- ### **常见触发原因** 1. **Shell权限的动态管理** - 当通过 `adb shell` 执行特权命令时,进程会临时获得 `shell` 用户的权限(如 `run-as` 或 `root` 权限)。 - 操作完成后,系统自动或手动调用 `Binder.clearCallingIdentity()` 清除权限上下文。 2. **权限提升失败或冲突** - 多次尝试授予权限(如 `Trying to grant android.permission.CREATE_USERS`)可能表明权限请求被拒绝或未持久化。 - 检查目标应用是否声明了 `<uses-permission android:name="android.permission.CREATE_USERS"/>`(需系统签名)。 3. **Binder通信异常** - `binder: undelivered transaction` 表示进程间通信(IPC)失败,可能因权限不足导致Binder事务未完成。 --- ### **排查与调试建议** 1. **检查权限声明与签名** - 确认涉及权限操作的应用或服务已正确声明权限,且使用 **系统签名**(非普通应用可获取 `CREATE_USERS` 等权限)。 - 示例代码: ```xml <!-- AndroidManifest.xml --> <uses-permission android:name="android.permission.CREATE_USERS" /> ``` 2. **分析调用堆栈** - 通过 `adb logcat -v threadtime` 获取完整日志,定位触发 `Dropping shell permissions` 的代码路径。 - 搜索 `android.permission.PermissionManager` 相关类(如 `grantRuntimePermission()` 方法)。 3. **验证Shell上下文** - 若通过 `adb shell` 执行命令,检查是否在正确的用户/角色下运行: ```bash adb shell whoami # 确认当前用户(如 shell, root) adb shell pm list permissions -g # 查看已授予权限 ``` 4. **调试Binder事务** - 使用 `dumpsys activity processes` 或 `dumpsys package` 查看权限分配情况。 - 对 `binder: undelivered transaction` 错误,检查目标进程是否存活或存在 SELinux 策略限制。 --- ### **关联代码路径(Android 11+)** 1. **权限管理核心逻辑** - `frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java` - `frameworks/base/core/java/android/content/pm/PermissionInfo.java` 2. **Shell权限控制** - `frameworks/base/services/core/java/com/android/server/am/ActivityManagerShellCommand.java` - `system/core/adb/daemon/main.cpp` (Android 11+ 迁移至 `packages/modules/adb`) --- ### **总结** 日志中的权限操作表明系统正在动态调整进程权限,可能因以下原因: - 安全机制强制回收临时权限 - 权限请求逻辑存在循环或冲突 - Binder通信异常导致权限上下文丢失 建议结合具体业务场景(如用户管理、adb命令执行)进一步分析权限生命周期,并通过系统级调试工具(如 `strace` 或 `dmesg`)追踪底层行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值