gpt4 book ai didi

c - libpcap 函数的 root 权限要求

转载 作者:行者123 更新时间:2023-12-03 21:29:36 25 4
gpt4 key购买 nike

pcap_lookupdev() 在以非 root 用户运行时填充 errbuf 变量,而相同的函数在以 root 用户运行时返回第一个可用网络接口(interface)的值。

此访问是否被操作系统或库禁用。我认为这是操作系统。正确答案是什么?

这不是作业题

最佳答案

一般来说,在访问操作系统提供的文件、设备和其他服务时,Unix(以及 Linux)中的访问模型在操作系统中实现。

用户空间程序应该只尝试他们想做的任何事情,并优雅地处理任何错误情况,例如通过消息通知用户。

这有几个优点:

  • 可维护性:访问策略实现由操作系统保留,可以统一配置。想要限制对资源的访问的管理员这样做一次,而不是必须在这里配置这个库,而不是在那里配置那个库,然后...

  • 可配置性:管理员可以根据需要配置简单或复杂的访问策略,而不受每个用户空间实现的限制。

  • 安全性:用户空间程序通常不应被信任执行访问策略。这就像让狼看守羊一样。

编辑:

在你的例子中,pcap需要对网络接口(interface)进行低级访问。由于安全隐患(捕获网络流量、生成任意网络数据包等),此类访问仅限于特权用户。例如,在 Linux 上,pcap 需要 CAP_NET_RAW capability可供用户使用。

关于c - libpcap 函数的 root 权限要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4885841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com