AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 501725
Accepted
John
John
Asked: 2019-02-20 14:23:00 +0800 CST2019-02-20 14:23:00 +0800 CST 2019-02-20 14:23:00 +0800 CST

具有 root 用户的进程是否始终具有 Linux 中可用的所有功能?

  • 772

在 Linux 中,具有非 root 用户的进程可以分配一些功能来增加其权限。

拥有 root 用户的进程拥有所有可用的功能,但是这样的进程是否可以删除它的一些功能(手动或在某些情况下自动删除)?

linux capabilities
  • 3 3 个回答
  • 1123 Views

3 个回答

  • Voted
  1. Best Answer
    ilkkachu
    2019-02-20T14:51:40+08:002019-02-20T14:51:40+08:00

    是的,功能的概念是用户 id 本身不提供任何特殊功能。UID 0 进程也可以丢弃不需要的功能。它仍将保留对 UID 0 拥有的文件的访问权限(例如/etc/shadow或/etc/ssh/sshd_config),因此切换到另一个 UID 仍然可能是一件明智的事情。

    我们可以使用 进行测试capsh,它允许我们根据要求删除功能。在这里,最后一部分作为 shell 脚本运行,我们可以看到chown由于更改文件所有者 ( CAP_CHOWN) 的能力被删除而失败:

    # capsh --drop=cap_chown -- -c 'id; touch foo; chown nobody foo'
    uid=0(root) gid=0(root) groups=0(root)
    chown: changing ownership of 'foo': Operation not permitted
    

    能力(7)手册页提到,系统为不了解能力的 setuid 二进制文件提供了一些保护措施,并且可能无法很好地处理某些被永久删除的情况。请参阅“功能哑二进制文件的安全检查”。

    当然,同一个手册页还包含有关功能的其他有用信息。

    • 4
  2. Crypteya
    2019-02-20T14:39:49+08:002019-02-20T14:39:49+08:00

    您还可以做一些其他的事情。

    root_squash

    root_squash可以使用该标志使 NFS 共享可用。

    通过这种方式,可以挂载网络共享,但客户端上的 root 用户不被授予对服务器上托管的文件的 root 访问权限,从而使 NFS 可用。在这种情况下,您可以使其他主机可以访问文件,即使该主机上的用户在其机器上具有 root 权限,您的内容仍然是安全的。

    这在企业环境中很有用,例如,如果您希望允许网络管理员访问其设备的日志但不希望他们能够进行任何更改。即使他们在他们的 linux 管理框上拥有 root 权限,他们也无法更改日志。

    如果您想进一步阅读,这是我最喜欢的指南:http: //fullyautolinux.blogspot.com/2015/11/nfs-norootsquash-and-suid-basic-nfs.html

    SSH

    您还可以做其他几件事。例如,您可以阻止 root 能够通过 SSH 连接到设备。这意味着要成为 root,用户需要使用不同的帐户(例如,您创建的管理员帐户)访问设备,然后使用类似的命令切换到 root 用户su。

    可以在这里找到一个简单的指南:https ://mediatemple.net/community/products/dv/204643810/how-do-i-disable-ssh-login-for-the-root-user

    RHEL7/CentOS7

    这是 Redhat 关于如何在企业环境中限制 root 帐户的一些文档: https ://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-controlling_root_access

    更新:

    如其他答案中所述,您还可以更改 root 帐户的功能。

    • 1
  3. sourcejedi
    2019-02-20T14:48:00+08:002019-02-20T14:48:00+08:00

    以编程方式调整能力集

    线程可以使用 capget(2) 和 capset(2) 系统调用检索和更改其能力集。但是,出于此目的,首选使用 libcap 包中提供的 cap_get_proc(3) 和 cap_set_proc(3)。以下规则管理线程能力集的更改:

    ...

    1. 新的许可集必须是现有许可集的子集(即,不可能获得线程当前不具有的许可能力)。
    2. 新的有效集必须是新允许集的子集。

    --能力(7)

    • 1

相关问题

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve