如何以非 root 用户启动 Debian Raspberry PI 中的网络设置

如何以非 root 用户启动 Debian Raspberry PI 中的网络设置

每次我登录到我的用户帐户“bob”时,我都必须使用这些命令(使用 sudo 或在 root 帐户中)来连接到 WiFi:

wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0

wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf给了我这个结果:

Successfully initialized wpa_supplicant
Could not set interface wlan0 flags (UP): Operation not permitted
WEXT: Could not set interface 'wlan0' UP
wlan0: Failed to initialized driver interface

dhclient wlan0得到:

RTNETLINK answers: Operation is unreachable

我在 Raspberry PI 4 上执行此操作,Debian 10 代号为:buster。

我有系统。

如何设置我的环境,以便每次启动或使用“bob”甚至 root 登录时,我的系统都会连接到 WiFi?

我正在考虑使用我刚刚显示的命令并将它们放入 .profile 中,但我无法使用“bob”帐户运行它们。

答案1

您的 wifi 凭证将转到/etc/wpa_supplicant/wpa_supplicant.conf

该文件应该看起来像

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
country=US
update_config=1

network={
    ssid="<wifi name>"
    psk="<wifi password>"
}

现在,Pi 将在每次启动时自动连接(或在连接到 WiFi 时)。要在应用更改后重新加载 wifi,请使用sudo systemctl restart dhcpdcnetwork=如果您经常连接多个 wifi,则可以添加更多块。

wpa_supplicant.conf您还可以取出 SD 卡,并将包含上述内容的文件放入/bootSD 的 - 部分,以将其加载到全新安装的 Raspberry Pi 操作系统上。

答案2

一个 cron 作业来为您运行所需的命令。

创建一个脚本autocnnect.sh

cat <<EOF > autoconnect.sh
/usr/sbin/wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
sleep 0.5
/usr/sbin/dhclient wlan0 >/dev/null 2>&1
EOF

使其可执行

chmod +x autoconnect.sh

以 root 身份运行,crontab -e然后添加以下行:

@reboot /path/to/autoconnect.sh

相关内容