我想制作一个 shell 脚本,通过创建网络来连接到我的 macbook pro 上的隐藏无线网络。但是,我只想在需要时连接到该网络,并且为了防止机场自动连接,我必须从钥匙串(keychain)中删除网络的密码。
到目前为止我已经:
networksetup -setairportnetwork en1 $ssid $networkpassword
networksetup -removepreferredwirelessnetwork en1 $ssid
我还知道在 OSX 10.7 中,security
命令可以修改钥匙串(keychain)。
无论如何,我将不胜感激有人能给我的任何帮助。如果可行的话,我也愿意使用 applescript 或其他东西。谢谢。
最佳答案
我明白了。我使用的命令是:
sudo security delete-generic-password -l $ssid "/Library/Keychains/System.keychain"
需要 sudo,因为此钥匙串(keychain)位于系统库中。 security
还包含更多删除和有用的命令,您可以指定如何在此命令中指示位置。
编辑:我在使用这个命令时遇到了一些麻烦,然后回去发现我可以使用另一个命令来完全不记得网络,如果我找到它的话,我之前会使用它。通过此选项,您可以使用适配器和网络设置选项执行大量操作。
这是我的最终脚本,它首先以 root 身份运行。然后它会更改系统首选项以不记住新网络。然后它会断开与任何当前网络的连接。然后它添加新网络。最后,它使系统记住新的 wifi 网络。
sudo -i
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport prefs RememberRecentNetworks=NO
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -Z
networksetup -setairportnetwork en1 $ssid $password
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport prefs RememberRecentNetworks=YES
关于macos - 如何使用 shell 命令从钥匙串(keychain)中删除密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432511/