用于在登录时解锁学校互联网的 gnome-keyring 的 Shell 脚本

用于在登录时解锁学校互联网的 gnome-keyring 的 Shell 脚本

我学校的 WiFi 网络不仅仅通过 WPA/WPA2 密码进行保护,还需要身份验证(PEAP、MSCHAPv2)。我可以正常登录(凭据位于我的网络连接中),但是默认情况下,某些守护进程决定最好登录我学校的访客帐户,该帐户只能执行 http/https 协议,并且只能在学校网站上执行。 (即它没用) 登录后简单地切换网络并不是一个很大的麻烦,但它并不完全那样工作。

事情的经过是这样的。使用桌面管理器登录后,我尝试使用互联网。当它不起作用时,我意识到我的 gnome 网络小程序被设置为蹩脚的访客网络,因此我尝试切换到学校网络。然而,一旦我这样做,我就会被告知我需要输入我的 gnome-keyring,因为它在我登录时没有解锁。我再次输入我的凭据。此时我的网络小程序仍设置为访客网络,因此我需要再次切换到学校网络。然后,终于,它起作用了,我可以正常使用互联网了。

这个过程很烦人,我想要一个 shell 脚本来自动执行它,但由于无法通过 wpa-supplicant 使用 CLI 登录网络,我非常不知道应该如何编写它。这是我希望脚本执行的操作:

0. Iff my school account is detected upon login and my computer is not connected to it, then
1. enter gnome-keyring info to unlock this network
2. Switch to the network

我只希望它在会话开始时运行,这样我就可以根据需要手动更改网络。基本上,我希望守护进程将学校网络视为默认网络(如果已启动)。

这样的 shell 脚本会是什么样子?

网络信息:

Interface: 802.11 Wifi (wlan0)
Security: WPA/WPA2 Enterprise
Authentication: PEAP (automatic)
Inner authentication: MSCHAPv2 (authenticates me within school database with my school username and password)

让我们调用我的个人(gnome-key)用户名“ foo”和密码“ bar”、学校用户名“ uname”和密码“ passwd”、网络SSID“ ssid”和设备Mac地址“ macaddress”。或者使用您自己的别名(如果它们很明显和/或幽默)。

如果您需要更多信息,请告诉我。 :)(使用 MATE 桌面运行 Debian Jessie)

如果您对该脚本的外观及其任何部分有任何线索,请在评论中发布。

相关内容