在启动时和切换网络后运行脚本

在启动时和切换网络后运行脚本

我正在使用 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-settingshttps://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/

相关内容