linux-capabilities相关内容

在我的Docker容器中,为什么还可以绑定没有`NET_BIND_SERVICE`能力的端口1?

我正在使用Ubuntu 18.04 Desktop。以下是有关我的问题的更多详细信息。 最近,我正在编写一些想要执行此操作的测试代码:当它以非特权用户身份运行时,测试代码会尝试绑定一个特权端口(在我的示例中是端口1),并期望绑定失败。 在我的主机上,我的当前非特权用户有以下capsh --print输出: Current: = Bounding set =cap_chown,ca ..
发布时间:2022-03-13 10:32:33 Python

如何找出进程需要哪些 linux 功能才能工作?

我处于一个困难的境地,我不知道一个进程需要什么 linux 功能才能工作.最好的方法是什么,或者有什么方法可以找出需要什么上限? 我现在唯一能想到的就是使用 capsh 并删除进程的所有大写字母.然后这个过程失败了,我开始添加大写(通过删除 --drop=CAP_XZY)直到它起作用. 有什么更好的建议吗? 解决方案 基于最近的 libcap2 更新 1:(短选项):ge ..
发布时间:2022-01-04 22:27:16 服务器开发

有没有办法让非 root 进程绑定到“特权"进程?Linux 上的端口?

在我的开发箱上有这个限制是很烦人的,因为除了我之外永远不会有任何用户. 我知道标准解决方法,但它们都没有完全按照我要: authbind(Debian 测试中的版本,1.0,仅支持 IPv4) 使用 iptables REDIRECT 目标将低端口重定向到高端口(ip6tables 还没有实现“nat"表,iptables 的 IPv6 版本) sudo(我试图避免以 root 身 ..
发布时间:2021-12-03 12:43:58 服务器开发

无法让 CAP_CHOWN 和 CAP_DAC_OVERRIDE 为普通用户工作

我的要求 我的 python 服务器在 RHEL 上以普通用户身份运行但它需要在它无权访问的地方创建文件/目录.还需要使用随机 UID/GID 来 chown 那些文件 我的方法 在只有功能的环境中尝试这个,没有 setuid.我正在尝试使用 cap_chown 和 cap_dac_override 功能.但是我完全不知道如何让它在 systemctl 类型的环境中工作 目 ..
发布时间:2021-06-26 19:12:45 其他开发

Python Scapy 无需 root 即可嗅探

我想知道是否有可能在没有 root 权限的情况下运行 Scapy 的“嗅探(...)". 它用于捕获某些包的应用程序中.但我不想使用 root 权限运行整个应用程序或更改 scapy 本身的任何内容. 提前致谢! 编辑: 为了测试,我使用以下代码: from scapy.all import *def arp_monitor_callback(pkt):如果 pkt 中的 ..
发布时间:2021-06-26 18:37:02 其他开发

gdb似乎忽略了可执行功能

我正在调试使用libnetfilter_queue的程序.该文档指出,用户空间队列处理应用程序需要CAP_NET_ADMIN功能才能运行.我已经使用setcap实用程序完成了此操作,如下所示: $ sudo setcap cap_net_raw,cap_net_admin=eip ./a.out 我已经验证了以下功能的正确应用:a)程序正常运行,b)getcap返回以下输出: $ ..

statx需要哪些功能才能停止提供EPERM

我有一个Qt项目,该项目使用一个在我的系统上可以正常编译的插件接口。但是,当在docker中编译同一项目时,它停止使用Qt 5.10.1,给出消息 Error:Undefined interface 。在运行 moc 的某些 strace 之后,发现找不到定义该接口的头文件,因为包含文件路径上的 statx 调用始终返回 EPERM 。文档甚至都没有提到如何产生此错误。 docker run ..
发布时间:2020-10-25 01:14:13 服务器开发

Java“符号查找错误"使用setcap功能运行时用于JLI_InitArgProcessing

我们在用于监视网络接口流量的服务器上安装了Java 11. 初始安装(yum install java-11-openjdk-devel.x86_64)后,java命令对于 root 和常规用户都可以正常使用. 但是,我们的Java应用程序将不会以root身份运行.然后,我们运行: setcap cap_net_raw,cap_net_admin=eip /path/to/jav ..
发布时间:2020-05-26 19:04:04 Java开发

yocto的Linux功能

我想给Linux提供几个文件功能(例如CAP_NET_ADMIN). 我正在使用Yocto,并且我的文件系统应为只读文件,并且在刷新软件后不得更改(这意味着通常无法正常运行的带有setcap的pkg_postinst). 在启动目标之后,是否还有其他方法可以在不更改文件结构的情况下为文件提供功能? 在构建只读rootfs时,已经执行了 解决方案 pkg_postinst脚本,因此该方法 ..
发布时间:2020-05-01 10:19:40 服务器开发

如何找出一个进程需要哪些Linux功能才能工作?

我处在一个困难的情况下,我不知道一个进程需要什么Linux功能才能工作. 最好的方法是什么,或者找出所需的上限的任何方法? 我现在唯一能想到的就是使用capsh并删除进程中的所有大写字母.然后,该过程失败,我开始添加上限(通过删除--drop = CAP_XZY),直到它起作用为止. 还有更好的建议吗? 解决方案 我在此以下是示例输出: $ sudo /usr/share ..
发布时间:2020-05-01 09:09:57 服务器开发

尽管缺少基于文件系统的功能,如何执行流程并保留功能?

我想使系统在没有setuid和文件"+ p"功能的情况下可用,并且通常没有在设置使用这种方法(init设置PR_SET_NO_NEW_PRIVS和基于文件系统的功能提升不再可能),您不能“重新填充"您的功能,而只需要注意不要“散布"它们. 如何在不“散布"任何授予的功能(例如,新程序的文件为setcap =ei)的情况下如何进行其他操作?只是“我相信这个新过程就像我相信自己一样".例如,为用 ..
发布时间:2020-05-01 09:08:01 服务器开发

Linux功能(setcap)似乎禁用了LD_LIBRARY_PATH

我使用LD_LIBRARY_PATH为应用程序设置某个用户库的路径.但是如果我在此应用程序上设置功能 sudo setcap CAP_NET_BIND_SERVICE=eip myapplication 然后LD_LIBRARY_PATH似乎被忽略了.当我启动该程序时,Linux抱怨它找不到某个共享库. 我猜想有某种保护措施可以防止具有扩展权限的应用程序被劫持.有解决方法吗? ..
发布时间:2020-05-01 08:28:08 服务器开发

是否可以为每个用户配置Linux功能?

Linux内核中似乎支持细粒度功能向进程授予特权以执行某些操作,例如打开原始套接字或提高线程优先级而未授予进程根特权. 但是我想知道是否有一种方法可以授予每用户功能.也就是说,允许非根和非suid进程获取那些功能. 解决方案 有limits.conf,可以通过它限制用户或组的某些资源. 签出 man limits.conf ..
发布时间:2020-05-01 08:20:10 服务器开发

是否有一种方法可以将非根进程绑定到“特权"进程? Linux上的端口?

当我之外再也没有其他用户时,在我的开发箱中设置此限制非常令人讨厌. 我知道标准变通办法,但是它们都不能完全发挥作用我想要: authbind (Debian测试版1.0,仅支持IPv4) 使用iptables REDIRECT目标将低端端口重定向到高端端口(尚未为iptables的IPv6版本ip6tables实现"nat"表) sudo(我想避免以root用户运行) SELin ..
发布时间:2020-05-01 07:54:39 服务器开发

具有setuid/功能的stdbuf

我正在读取另一个生成输出(缓慢且无限)的进程的输出.因为我想实时读取此数据,所以我使用"stdbuf -oL"(行缓冲,数据为文本).我无法控制生成过程,因此无法修改源以强制刷新. 到目前为止,stdbuf可以正常工作,但是该进程使用SOCK_RAW,并且需要以root身份运行,具有setuid(0)或cap_net_raw功能.当使用setuid或功能以非root用户身份运行时,stdbu ..
发布时间:2020-04-23 11:01:00 服务器开发