我有一个基于 libpcap 的应用程序。现在,为了允许非 root 用户使用我的应用程序,我在安装过程中使用 setcap
setcap cap_net_raw=ep /bin/myapp
但是,如果我安装应用程序的 Linux 发行版不支持 Linux 功能,我想使用 setuid()。现在,我们有什么方法可以确定当前 Linux 发行版是否支持 Linux 功能和 setuid()。此外,是否有任何链接可以显示所有支持 Linux 功能的 Linux 发行版。
答案1
您可以检查当前使用的内核配置
# cat /proc/config.gz | gunzip | grep CAPABILITY
CONFIG_CCSECURITY_CAPABILITY=y
这表明已CONFIG_CCSECURITY_CAPABILITY
被使用,因此功能已启用。
此外,如果libcap-utils
已安装,/sbin/capsh --print
可以用来检查功能的可用性。