我正在为我的 ubuntu 维护一个安装后脚本。我想通过 bash 添加 wifi 网络连接,以便稍后自动连接到它们,但我不知道该怎么做。
有没有一个简单的命令或配置文件,我应该在其中添加我的 SSID 和密码?同样,当时不需要实际连接到网络...谢谢!
编辑:
根据@LassePoulsen的建议,您可以在中创建INI样式的文件/etc/NetwokManager/system-connections
。对此有一点建议:
- 用于
uuidgen
生成 uuid 值 - 别忘了
chmod 600
!解释:为了安全起见,它将忽略除“root”之外的任何用户或组可读或可写的文件,因为私钥和密码可能以纯文本形式存储在文件中。
- 手动更改后必须重新加载配置
有用的链接:
答案1
您应该能够为每个连接创建配置文件,这些配置文件位于/etc/NetworkManager/system-connections
平面 INI 样式的文本文件中。
以下是我的系统中的一个示例文件/etc/NetworkManager/system-connections/AndroidAPP
:
[connection]
id=AndroidAPP
uuid=a36db5c2-293e-443c-b267-0ecd4bd6d9ce
type=wifi
autoconnect=false
permissions=
secondaries=
[wifi]
mac-address=03:51:1F:01:02:03
mac-address-blacklist=
mode=infrastructure
seen-bssids=
ssid=AndroidAPP
[wifi-security]
group=
key-mgmt=wpa-psk
pairwise=
proto=
psk=ReallyStrongPresharedKey
[ipv4]
dns-search=
method=auto
[ipv6]
dns-search=
ip6-privacy=0
method=auto
虽然您可以手动创建这些连接,但在一台机器上创建所有连接然后从那里复制它们要容易得多。但您仍然需要注意以下几点:
mac-address
是用于连接的网卡的硬件地址uuid
必须是唯一的,因为它用于 NetworkManager 中的内部引用autoconnect
如果未设置为 false,则始终启用- 更改文件后请记住重新启动 NetworkManager。
答案2
请参阅man nm-connection-manager
及其另请参阅部分,了解其如何完成(dpkg -L network-manager-gnome
了解要阅读的内容):
trusty (1) nm-connection-editor.1.gz
Provided by: network-manager-gnome_0.9.8.8-0ubuntu4_i386
NAME
nm-connection-editor - network connection editor for NetworkManager
SYNOPSIS
nm-connection-editor [ OPTIONS ]
DESCRIPTION
nm-connection-editor is a GTK‐based application to add, remove, and
modify network connections stored by NetworkManager. NetworkManager
must be running for any network connections to be added, removed, or
modified.