You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为特定用户配置Linux Perf权限?kernel.perf_event_paranoid不可用

为特定用户配置Linux Perf权限的实操方案

为什么全局参数kernel.perf_event_paranoid无法满足需求

  • kernel.perf_event_paranoid是全局内核参数,设置后会作用于所有用户,无法实现仅给特定用户开放Perf权限的需求
  • 比如将其设为0或-1时,所有用户都能使用Perf,存在安全风险;设为默认的2则所有普通用户都无法使用

内核官方文档的不足

内核官方文档提到通过用户组配置特权Perf用户,但内容模糊且缺失关键操作步骤:

  • 仅提及需配置用户组,但未说明具体创建和关联用户的方法
  • 未明确如何为用户组分配Perf可执行文件的必要权限
  • 关于赋予监控与可观测性特权、创建特权Shell环境的章节,无详细操作指引

具体配置步骤

1. 创建专属用户组

首先创建一个用于管理Perf权限的用户组,比如perf_users:

sudo groupadd perf_users

2. 将目标用户添加到该组

把需要使用Perf的特定用户(比如john)加入perf_users组:

sudo usermod -aG perf_users john

注:用户需要重新登录才能使组权限生效

3. 配置Perf可执行文件的SGID权限

为perf二进制文件设置SGID权限,让perf_users组的用户执行时拥有组权限:

sudo chgrp perf_users /usr/bin/perf
sudo chmod g+s /usr/bin/perf

4. 赋予用户组监控特权

通过capabilities给perf二进制文件赋予必要的监控权限,无需修改全局内核参数:

sudo setcap cap_perfmon,cap_sys_ptrace+ep /usr/bin/perf

说明:

  • cap_perfmon:允许使用性能监控事件
  • cap_sys_ptrace:允许跟踪其他进程(部分Perf功能依赖此权限)

5. 验证配置是否生效

让目标用户重新登录后,执行以下命令测试:

perf stat ls

如果能正常输出ls命令的性能统计信息,说明配置成功


内容的提问来源于stack exchange,提问作者user2771324

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:20:20