我正在编写一个简单的shell脚本,该脚本会更改网络硬件的mac地址。其中一行是:
sudo ifconfig eth0 hw ether 00:99:99:00:00:00
我的问题是sudo脚本提示输入密码。有什么办法可以在不提示用户输入密码的情况下执行此操作?
最肯定的是,如果您不介意为该特定用户“免费使用”该特定命令:
基本上在这里看到我的其他答案:[Shell脚本-随着时间的流逝丢失了Sudo权限
可能最简单的方法是
myuser = NOPASSWD: /sbin/ifconfig
另外,您可以在同一终端(tty / vty)上sudo一个任意命令,并将sudo身份验证缓存一段时间(或直到sudo -k),因此您可以启动该脚本,它将“记住”先前sudo调用的凭据。我有时会在用组成管道时执行此操作sudo(在之前加上sudo true)
sudo
sudo -k
sudo true