使用 nmcli 删除连接属性

使用 nmcli 删除连接属性

我正在尝试使用 nmcli 编辑现有连接,并且我想完全删除一些属性(而不是仅修改它们的值)。

具体来说,属性是wifi-sec.key-mgmtwifi-sec.psk,用例是因为网络已从 wpa-psk 模式切换到开放模式。

我似乎找不到删除这些属性的方法,并且 nmcli 帮助似乎指向该命令,nmcli connection modify但它似乎无法删除整个属性,只需删除多值属性中的一些项目,这我想要的却不是这样。

Usage: nmcli connection modify { ARGUMENTS | help }

ARGUMENTS := [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+

Modify one or more properties of the connection profile.
The profile is identified by its name, UUID or D-Bus path. For multi-valued
properties you can use optional '+' or '-' prefix to the property name.
The '+' sign allows appending items instead of overwriting the whole value.
The '-' sign allows removing selected items instead of the whole value.

有没有办法通过 nmcli 完全删除属性,或者我是否必须删除整个连接,然后在没有这些属性的情况下重新创建它?

请注意,这需要从另一个程序调用,因此交互模式命令不适合。

答案1

假设该属性不是标志或容器类型(如果是,请使用nmcli c modify conid -setting.property value您描述的语法),那么nmcli 手册页指定将属性值设置为空字符串以将其重置为默认值:

nmcli con modify id setting.property ""

您还可以使用“remove”关键字取消连接上的整个设置部分,而不是通过以下方式取消设置特定属性:

nmcli con modify [--temporary] [id | uuid | path] ID remove setting

答案2

信息来自nmcli手册:

  1. 首先,您需要使用以下命令识别要编辑的连接:

    nmcli connection show

  2. 然后,假设您有一个名为“以太网”的连接(此处仅用作示例),请使用以下命令:

    nmcli connection edit Ethernet

它启动===| nmcli interactive connection editor |===,它可以删除连接的属性。

相关内容