如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
Linux功能是Linux内核中的特殊属性,可为进程和二进制可执行文件授予特定特权,这些特权通常保留给有效用户ID为0(root用户且只有root用户的UID为0)的进程。
本文将解释一些可用功能,其用途以及如何设置和删除它们。请注意,在可执行文件上设置功能可能会损害系统的安全性。因此,在实现生产功能之前,应考虑在非生产系统上进行测试。
本质上,功能的目标是将“ root”的权限划分为特定的特权,这样,如果利用具有一个或多个功能的进程或二进制文件,则与以root身份运行的同一进程相比,潜在的损害是有限的。
可以在进程和可执行文件上设置功能。执行文件所产生的过程可以获得该文件的功能。
在Linux上实现的功能众多,并且自最初发行以来已添加了许多功能。其中一些如下:
CAP_CHOWN
:更改文件的用户标识和组标识CAP_DAC_OVERRIDE
:覆盖DAC(自由访问控制)。例如,vto绕过读/写/执行权限检查。CAP_KILL
:绕过权限检查,以将信号发送到进程。 CAP_SYS_NICE
:提高流程的美观度(可以在此处找到有关美观度的说明)CAP_SYS_TIME
:设置系统和实时硬件时钟有关完整列表,请运行man 7 capabilities
。
功能是按组分配的,即线程的“允许”,“可继承的”,“有效”和“环境”,文件的分配是“允许的”,“可继承的”和“有效”。这些集合定义了不同的复杂行为,它们的完整解释超出了本文的范围。
例如,在文件上设置功能时,我们几乎总是使用“允许”和“有效” CAP_DAC_OVERRIDE+ep
。注意+ep
,它表示上述集合。
有两个主要工具,getcap
并且setcap
可以分别查看和设置这些属性。
libcap2-bin
软件包提供,可以通过以下方式安装:apt install libcap2-bin
libcap
需要以下软件包:yum install libcap
libcap
:pacman -S libcap
要查看文件是否设置了任何功能,可以简单地运行getcap /full/path/to/binary
,例如:
root@demo:~# getcap /usr/bin/ping
/usr/bin/ping = cap_net_raw+ep
root@demo:~# getcap /usr/bin/rcp
/usr/bin/rcp = cap_net_bind_service+ep
如果您想找出系统上已经设置的功能,则可以使用以下命令递归搜索整个文件系统:
getcap -r /
由于虚拟文件系统(例如/proc
)不支持这些操作,因此上面的命令将产生成千上万个错误,因此对于更清晰的输出,请使用以下命令:
getcap -r / 2>/dev/null
要在文件上设置特定功能,请使用setcap "capability_string" /path/to/file
。
要从文件中删除所有功能,请使用setcap -r /path/to/file
。
为了演示,我们将在当前目录中创建一个空白文件,为其提供功能,然后将其删除。从以下内容开始:
root@demo:~# touch testfile
root@demo:~# getcap testfile
第二个命令不产生任何输出,这意味着该文件没有任何功能。
接下来,设置文件的功能:
root@demo:~# setcap "CAP_CHOWN+ep" testfile
root@demo:~# getcap testfile
testfile = cap_chown+ep
以“ CAP_CHOWN + ep”为例,但其他任何方式都可以通过这种方式分配。
现在,从中删除所有功能testfile
:
root@demo:~# setcap -r testfile
root@demo:~# getcap testfile
同样,将没有输出,因为已删除“ CAP_CHOWN + ep”。
功能具有许多潜在用途,可以帮助加强系统的安全性。如果在可执行文件上使用SUID位,请考虑将其替换为所需的特定功能。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。
使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具
简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。
使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由
朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性
Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin
在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio
Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息