Bug 28975 - Anolis OS 8.8中的ping命令缺少cap_net_raw能力,导致非root用户无法直接使用ping命令进行网络连通性测试。这与标准Linux发行版的行为不一致,影响系统功能和用户体验。
Summary: Anolis OS 8.8中的ping命令缺少cap_net_raw能力,导致非root用户无法直接使用ping命令进行网络连通性测试。这与标准Linux...
Status: NEW
Alias: None
Product: Anolis OS 8
Classification: Anolis OS
Component: BaseOS Packages (show other bugs) BaseOS Packages
Version: 8.8
Hardware: All Linux
: P3-Medium S2-major
Target Milestone: ---
Assignee: Jacob
QA Contact: shuming
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-29 19:08 UTC by djjjjj
Modified: 2025-12-29 19:08 UTC (History)
0 users

See Also:


Attachments
用于复现问题的 Dockerfile (1.34 KB, application/octet-stream)
2025-12-29 19:08 UTC, djjjjj
Details

Note You need to log in before you can comment on or make changes to this bug.
Description djjjjj 2025-12-29 19:08:40 UTC
Created attachment 1450 [details]
用于复现问题的 Dockerfile

**问题描述:**
Anolis OS 8.8中的ping命令缺少`cap_net_raw`能力,导致非root用户无法直接使用ping命令进行网络连通性测试。这与CentOS 8的行为不一致,属于严重兼容性问题。

**版本信息:**
- Anolis OS版本: 8.8
- 相关软件包: iputils

**重现频率:**
每次都会发生(100%重现)

**重现步骤:**
1. 在Anolis OS 8.8上安装iputils包
2. 检查ping命令的capabilities状态
3. 以非root用户身份测试ping命令

**详细操作步骤:**
1. `yum install -y iputils`
2. `getcap /usr/bin/ping`
3. `sudo -u nobody ping -c 1 127.0.0.1`

**实际结果:**
在Anolis OS 8.8上:
1. `getcap /usr/bin/ping`命令没有输出(表示没有设置capabilities)
2. 非root用户执行ping命令失败,提示"ping: socket: Operation not permitted"

**预期结果:**
应该与CentOS 8的行为一致:
1. `getcap /usr/bin/ping`应显示:`/usr/bin/ping = cap_net_admin,cap_net_raw+p`
2. 非root用户可以正常使用ping命令进行网络连通性测试

**附加信息:**
1. **兼容性影响**:此问题影响从CentOS/RHEL迁移到Anolis OS的用户和系统
2. **功能影响**:非root用户无法进行基本网络诊断,影响监控脚本、自动化工具
3. **验证方法**:已通过Docker容器对比验证,确认CentOS 8的ping命令有正确capabilities
4. **修复建议**:
   - 在iputils软件包的RPM spec文件中添加:
     ```
     %post
     setcap cap_net_raw+p %{_bindir}/ping || :
     ```
   - 或直接运行:`setcap cap_net_raw+p /usr/bin/ping`
5. **相关依赖**:需要libcap包支持setcap命令