我正在使用 Fedora 26,我正在尝试创建一个脚本,该脚本将在每次重新启动时更改我的 MAC 地址,并切换网络/关闭和打开网络管理器。我有这个:
#!/bin/bash
sudo service NetworkManager stop
sudo ifconfig wlo1 down
for i in 1 2 3 4 5
do
echo "wlo1"
sudo macchanger -r wlo1
echo " "
echo "eno1"
sudo macchanger -r eno1
echo " "
echo "============================="
echo " "
done
echo "Final MAC "
echo "wlo1"
sudo macchanger -r wlo1
echo " "
echo "eno1"
sudo macchanger -r eno1
sudo service NetworkManager start
sudo ifconfig wlo1 up
它工作得很好,但我需要手动运行它。我尝试通过编辑 .bash_profile 文件在登录时运行它,但它会在 gui 后面的后台提示输入密码。当我用电源按钮关闭机器时我看到了它。有想法该怎么解决这个吗?
是否有网络管理器被关闭的事件,以便我可以自动启动它? + 我可以让它向我显示它已更改的通知吗?
答案1
将您的脚本放入/etc/profile.d/
文件夹中。放置在那里的脚本在登录时运行。由于您的脚本具有sudo
,您可以使用-S
标志来sudo
接受来自标准输入的密码。您可以使用:
echo "ur P@ssw0rd" | sudo -S UrCommand
答案2
如果你想每次启动时使用不同的 MAC,我会这样做
nmcli connection modify "$NAME" wifi.cloned-mac-address stable connection.stable-id '${BOOT}'
也可以看看,man nm-settings
,https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/nm-conf.d/30-anon.conf?id=66a09b21920679ade156ae6ed134476ddb73418a, 和https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/