uBuntu 使用nmcli對Wi-Fi做控制
1. 安裝NetworkManager
NetworkManager可用於以下連接類型:以太網、VLAN、網橋、綁定、成組、Wi-Fi、移動寬帶(比如移動網絡3G)及IP-over-InfiniBand。任何網路控制都會用到NetworkManager。
sudo apt-get install network-manager
2. nmcli各種使用與法
nmcli 是一個允許用戶及腳本與NetworkManager互動的命令行工具。
2.1 顯示已知的網路設備狀態
nmcli d
2.2 顯示每個網卡(NetworkManager)連線狀態與UUID等資訊
命令”c”用於連接,是”connections”的縮寫形式。
nmcli c
2.3 確保WiFi已開啟
nmcli radio wifi on
2.4 顯示所有已連接設備名稱與UUID
nmcli connection show
2.5 顯示當前連接的Wi-Fi設備名稱、UUID等資訊
nmcli connection show --active
2.6 啟動/停止/連線/斷線
nmcli connection down connection-name
nmcli connection up connection-name
nmcli device disconnect interface-name
nmcli device connect interface-name
2.7 連線至指定的Wi-Fi網路
sudo nmcli d wifi connect 'Wi-Fi名稱' password '密碼'
2.8 指定網卡中斷斷線
sudo nmcli dev disconnect iface 'interface-name'
2.9 顯示出當前已連線過的Wi-Fi網路UUID
nmcli connection | cut -c 20-55
2.10 清除已連線過的Wi-Fi網路
nmcli connection delete uuid 'Wi-Fi-UUID'
環境設定:nmcli指令呼叫,無須輸入密碼
若透過一些腳本或是程式,需要使用nmcli指令,但又不想每次都要輸入密碼,可以透過以下方式設定。
1. 將您的用戶添加到netdev組中:
sudo usermod -a -G netdev $USER
2. 設置sudoers文件以允許netdev組的成員使用nmcli命令而無需輸入密碼:
sudo visudo
在文件中添加以下行:
%netdev ALL=(root) NOPASSWD: /usr/bin/nmcli