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 / 问题 / 515513
Accepted
rg6
rg6
Asked: 2019-04-26 10:02:35 +0800 CST2019-04-26 10:02:35 +0800 CST 2019-04-26 10:02:35 +0800 CST

通过 nmcli 对 NetworkManager 进行更改需要 root 的*正确*方法

  • 772

使用单个命令或添加少量 polkit 来限制所有非特权用户只读使用 nmcli的正确方法是什么?

编辑:除了 root 之外,只允许特权 unix 组,例如“netadmins”,也会很好。然而,主要问题是阻止一般非特权用户进行的所有非只读更改。

背景

像我认识的大多数系统管理员一样,对于服务器部署,我通常禁用 NetworkManager 并运行“网络”服务,而不是使用配置文件和网络脚本来配置接口、网桥、绑定等,这很简单、可重现、可靠且非常不可靠-black-boxy 即使是高级配置。

在 EL 8 中,不推荐使用传统的网络配置,取而代之的是 NetworkManager。同时,EL 发行版(当前为 EL 7.5)现在允许非 root 用户创建、修改和删除接口,并对现有配置进行几乎无限的更改。对于充当计算头节点的服务器,这允许一个用户干扰整个机器的有效操作。对于提供边界服务的服务器,这增加了非特权妥协的潜在严重性和安全隐患。

我已经阅读了一些关于更改 NetworkManager 的 polkit 配置的文档,但其中大部分是为了解决笔记本电脑上的一些无线问题。

networkmanager nmcli
  • 1 1 个回答
  • 1385 Views

1 个回答

  • Voted
  1. Best Answer
    sourcejedi
    2019-04-26T16:47:43+08:002019-04-26T16:47:43+08:00

    显然我们可以编写 Javascript。这不是很有趣吗?

    我认为这会起作用:

    # /etc/polkit-1/rules.d/10-disable-networkmanager.rules
    
    polkit.addRule(function(action, subject) {
        if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0)
        {
            return polkit.Result.NO;
        }
    });
    

    https://doc.opensuse.org/documentation/leap/security/html/book.security/cha.security.policykit.html

    https://wiki.archlinux.org/index.php/Polkit#Examples

    https://blog.christophersmart.com/2014/01/06/policykit-javascript-rules-with-catchall/

    快速rpm -q --dump NetworkManager | grep -i pol显示策略文件是/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy. 搜索它<allow_inactive>yes会指出已知远程登录用户允许的操作。例如在 Fedora Workstation 29 上,这些似乎是

    • org.freedesktop.NetworkManager.network-control
    • org.freedesktop.NetworkManager.settings.modify.own
    • org.freedesktop.NetworkManager.settings.modify.system

    <allow_active>大致对应于本地登录的用户。 <allow_any>对应于未登录的用户。“登录”是指pam_systemd。基本上“登录”将意味着 GUI 或 shell 登录,但可能不是当您为 Apache 之类的其他东西配置 PAM 登录时:-)。

    • 1

相关问题

  • 蜂窝调制解调器:pppd 调制解调器挂断

  • 网络管理器:完全互联网访问,但通过哪个设备/连接

  • shorewall 启动时 NetworkManager 1.10.2 出现段错误

  • Wi-Fi 无法在 Ubuntu 17.10 上运行

  • 备份和恢复网络管理器配置?

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