此应用程序使用命令行创建 WiFi 接入点,命令如下:
create_ap wlan0 eth0 MyAccessPoint
您还可以使用以下命令创建 WPA + WPA2 网络:
create_ap wlan0 eth0 MyAccessPoint MyPassPhrase
但要做到这一点,您必须输入密码,并且密码以纯文本形式显示在终端中。
当然,它可以从历史记录中删除,或者通过在命令前面添加空格来永远不添加,但它仍然会被输入并列出,直到您关闭该终端。
我的问题是,这是否比使用不以相同方式存储的 GUI 应用程序设置 WiFi 网络更不安全。
答案1
作为命令行参数传递的任何内容都可以通过以下方式查看:
- 任何能够在终端内容仍在屏幕上时看到它们的人(正如您所说的那样);
- 任何有权访问您的历史文件的程序,直到您从那里删除它,或者阻止它被写入(如您所说);
- 任何用户在使用 ps 或类似工具列出进程的系统上。
这是不好的做法。
引用您链接到的页面:“您可以传递您的 SSID 和密码通过管道或通过论据(见例子)。”。改编自https://github.com/oblique/create_ap#wpa--wpa2-passphrase-using-pipe:
创建一个保存您的密码的文件,并使只有您的用户才能读取:
touch ~/.wifipass chmod 600 ~/.wifipass
写入:
MyAccessPoint MyPassPhrase
使用以下命令运行应用程序:
cat ~/.wifipass | create_ap wlan0 eth0
这解决了通过 CLI 参数传递密码的问题。
如果您还想在存储密码时对其进行加密,则可以使用 gnome 密钥环:https://kparal.wordpress.com/2009/09/29/command-line-access-to-gnome-keyring/和https://github.com/kparal/gkeyring当您登录时,这将要求输入密码。